C++学习日志 20

uto的使用细则
1.auto与指针和引用结合起来使用 用auto声明指针类型时,用auto和auto*没有任何区别,但用auto声明引用类型时则必须加&

int a = 10;
auto* pa = &a;//指定pa为指针类型
auto* ppa = &pa;
auto& ia = a;//指定ia的类型为引用类型
auto* pa = a;//程序非法,因为指定了pa的类型是指针类型,但是我们却给它赋了地址
cout << typeid(pa).name() << endl;//输出结果为int *
cout << typeid(ppa).name() << endl;//输出结果为int **
cout << typeid(ia).name() << endl;//输出结果为int
2.当在同一行声明多个变量时,这些变量必须是相同的类型,否则编译器将会报错,因为编译器实际只对 第一个类型进行推导,然后用推导出来的类型定义其他变量。

auto a = 10, d = 3.14;//错误的使用方式
auto i = 0, *p = &amp;i;//正确的使用方式,i是整数,p是整型指针
auto a = 10, b = 20;//正确的使用方式,因为经过编译器推导之后,程序会变成下面的定义方式
int a = 10, b = 20;
3.auto在使用时会遵循隐式类型转换的规则。

int main()
{
auto a = 3.14 + 5;//表达式3.14和5相加后的类型转换为double类型,值为8.14
cout << typeid(a).name() << endl;
return 0;
}
全部评论
加油
点赞 回复 分享
发布于 2023-12-28 07:07 黑龙江

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务