[問題] 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