[问题] C++变量宣告与C差异

楼主: becoder (程式学习者)   2018-02-20 10:31:01
交大的开放式课程OOP中
有段
C++ allows variables to be declared anywhere and hereafter uses them in the curr
ent block.
老师说C++变量可以宣告在任何地方的变量使用前
我想的是C语言这部分操作也可以
除了for(int I=0,...)这个C语言不行之外,没有想到其他的使用情况
可以请大家多说明些吗?
谢谢
作者: steve1012 (steve)   2018-02-20 10:46:00
没听懂你的问题
作者: wei115 (ㄎㄎ)   2018-02-20 11:12:00
c99可以for(int;;)
作者: steve1012 (steve)   2018-02-20 11:14:00
旧的 c standard 好像有要求要4在前面先宣告所有变量但这改掉了
作者: PkmX (阿猫)   2018-02-20 12:11:00
C89要求变量宣告都要在block的最开头 不能穿插在statement间不过C99和C++没这个限制 大多数的compiler也提供extension绕过这个限制原则上建议是变量的lifetime越短越好啦 避免误用
作者: Feis (永远睡不着 @@)   2018-02-20 13:32:00
scope 越小越好
作者: TitanEric (泰坦)   2018-02-20 13:45:00
ㄟ 真的耶 我看K&R的书没注意到书里真的会先宣告for里面的变量耶
作者: soheadsome (师大狗鼻哥)   2018-02-20 14:37:00
c99之后跟c++差不多
作者: jaid (jaid)   2018-02-20 15:06:00
C根据不同的标准差不少
作者: chchwy (mat)   2018-02-20 17:48:00
以前的C不行
作者: dces4212 (flawless)   2018-02-21 13:36:00
keil的compiler就会要求宣告在最前面QQ
作者: Lipraxde (Lipraxde)   2018-02-21 19:12:00
印象中有参数可以调

Links booklink

Contact Us: admin [ a t ] ucptt.com