[問題] C++變數宣告與C差異

看板C_and_CPP作者 (程式學習者)時間7年前發表 (2018/02/20 02:31), 7年前編輯推噓8(808)
留言16則, 10人參與, 7年前最新討論串1/1
交大的開放式課程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

02/20 10:46, 7年前 , 1F
沒聽懂你的問題
02/20 10:46, 1F
就是關於C++的變數可以在使用前才宣告,可以再詳細說明一下嗎? 因為感覺不出來跟C語言有差別 ※ 編輯: becoder (114.137.83.26), 02/20/2018 10:53:53

02/20 11:12, 7年前 , 2F
c99可以for(int;;)
02/20 11:12, 2F

02/20 11:14, 7年前 , 3F
舊的 c standard 好像有要求要4在前面先宣告所有變數
02/20 11:14, 3F

02/20 11:14, 7年前 , 4F
但這改掉了
02/20 11:14, 4F

02/20 12:11, 7年前 , 5F
C89要求變數宣告都要在block的最開頭 不能穿插在statement間
02/20 12:11, 5F

02/20 12:11, 7年前 , 6F
不過C99和C++沒這個限制 大多數的compiler也提供extension繞
02/20 12:11, 6F

02/20 12:11, 7年前 , 7F
過這個限制
02/20 12:11, 7F

02/20 12:13, 7年前 , 8F
原則上建議是變數的lifetime越短越好啦 避免誤用
02/20 12:13, 8F

02/20 13:32, 7年前 , 9F
scope 越小越好
02/20 13:32, 9F

02/20 13:45, 7年前 , 10F
ㄟ 真的耶 我看K&R的書沒注意到書裡真的會先宣告for裡
02/20 13:45, 10F

02/20 13:45, 7年前 , 11F
面的變數耶
02/20 13:45, 11F

02/20 14:37, 7年前 , 12F
c99之後跟c++差不多
02/20 14:37, 12F

02/20 15:06, 7年前 , 13F
C根據不同的標準差不少
02/20 15:06, 13F

02/20 17:48, 7年前 , 14F
以前的C不行
02/20 17:48, 14F

02/21 13:36, 7年前 , 15F
keil的compiler就會要求宣告在最前面QQ
02/21 13:36, 15F

02/21 19:12, 7年前 , 16F
印象中有參數可以調
02/21 19:12, 16F
文章代碼(AID): #1QYuXe87 (C_and_CPP)