看板 C_and_CPP 關於我們 聯絡資訊
交大的開放式課程OOP中 有段 C++ allows variables to be declared anywhere and hereafter uses them in the curr ent block. 老師說C++變數可以宣告在任何地方的變數使用前 我想的是C語言這部分操作也可以 除了for(int I=0,...)這個C語言不行之外,沒有想到其他的使用情況 可以請大家多說明些嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.83.26 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1519093864.A.207.html
steve1012: 沒聽懂你的問題 02/20 10:46
就是關於C++的變數可以在使用前才宣告,可以再詳細說明一下嗎? 因為感覺不出來跟C語言有差別 ※ 編輯: becoder (114.137.83.26), 02/20/2018 10:53:53
wei115: c99可以for(int;;) 02/20 11:12
steve1012: 舊的 c standard 好像有要求要4在前面先宣告所有變數 02/20 11:14
steve1012: 但這改掉了 02/20 11:14
PkmX: C89要求變數宣告都要在block的最開頭 不能穿插在statement間 02/20 12:11
PkmX: 不過C99和C++沒這個限制 大多數的compiler也提供extension繞 02/20 12:11
PkmX: 過這個限制 02/20 12:11
PkmX: 原則上建議是變數的lifetime越短越好啦 避免誤用 02/20 12:13
Feis: scope 越小越好 02/20 13:32
TitanEric: ㄟ 真的耶 我看K&R的書沒注意到書裡真的會先宣告for裡 02/20 13:45
TitanEric: 面的變數耶 02/20 13:45
soheadsome: c99之後跟c++差不多 02/20 14:37
jaid: C根據不同的標準差不少 02/20 15:06
chchwy: 以前的C不行 02/20 17:48
dces4212: keil的compiler就會要求宣告在最前面QQ 02/21 13:36
Lipraxde: 印象中有參數可以調 02/21 19:12