注册 登录
编程论坛 C++教室

请教各位大神一个关于auto定义参数的问题。万分感谢!

qq472739119 发布于 2017-02-22 19:23, 1148 次点击
C++11 语法要求,如果要在一条语句中定义多个变量,那么,要求初始值必须为同一个类型。

int i = 1;
const int ci = i,&cr = ci;
auto &m = ci, *p = &ci;

为什么这条语句可以通过,初始值ci是一个整形常量,而&ci是一个整形常量的指针,这不是同一类型,为什么可以在一条语句中定义?
4 回复
#2
yangfrancis2017-02-22 21:59
这不就是auto语法的特色吗?不然你为什么会在这里用auto
#3
rjsp2017-02-23 08:39
auto &m = ci, *p = &ci;

这里 auto 为 const int
没有出现一个要求auto为a类型,另一个要求auto为b类型的情况,所以能写在同一个定义语句中。
#4
qq4727391192017-02-23 15:01
回复 3楼 rjsp
感谢大神!
#5
qq4727391192017-02-23 15:01
回复 2楼 yangfrancis
感谢大神!
1