作者becoder (程式学习者)
看板C_and_CPP
标题[问题] C++变数宣告与C差异
时间Tue Feb 20 10:31:01 2018
交大的开放式课程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://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1519093864.A.207.html
1F:推 steve1012: 没听懂你的问题 02/20 10:46
就是关於C++的变数可以在使用前才宣告,可以再详细说明一下吗?
因为感觉不出来跟C语言有差别
※ 编辑: becoder (114.137.83.26), 02/20/2018 10:53:53
2F:推 wei115: c99可以for(int;;) 02/20 11:12
3F:推 steve1012: 旧的 c standard 好像有要求要4在前面先宣告所有变数 02/20 11:14
4F:→ steve1012: 但这改掉了 02/20 11:14
5F:→ PkmX: C89要求变数宣告都要在block的最开头 不能穿插在statement间 02/20 12:11
6F:→ PkmX: 不过C99和C++没这个限制 大多数的compiler也提供extension绕 02/20 12:11
7F:→ PkmX: 过这个限制 02/20 12:11
8F:→ PkmX: 原则上建议是变数的lifetime越短越好啦 避免误用 02/20 12:13
9F:→ Feis: scope 越小越好 02/20 13:32
10F:推 TitanEric: ㄟ 真的耶 我看K&R的书没注意到书里真的会先宣告for里 02/20 13:45
11F:→ TitanEric: 面的变数耶 02/20 13:45
12F:推 soheadsome: c99之後跟c++差不多 02/20 14:37
13F:推 jaid: C根据不同的标准差不少 02/20 15:06
14F:推 chchwy: 以前的C不行 02/20 17:48
15F:推 dces4212: keil的compiler就会要求宣告在最前面QQ 02/21 13:36
16F:→ Lipraxde: 印象中有参数可以调 02/21 19:12