C++primer学习之:类型别名和auto

来源:互联网 发布:cf专业刷枪软件 编辑:程序博客网 时间:2024/06/15 03:08

[1]类型别名typedef,只要注意一点.

typedef char* ptrstring;const ptrstring cstr = 0;const char *cstr = 0;//这两种定义是完全不同的,关键在于基本数据类型的不同,第一种是const char*,作为基本数据类型,cstr是一个常指针.第二种const char是基本数据类型,*是一个声明符号.这时候cstr代表一个指向const char对象的普通指针.

[2]auto:auto 会默认的省略top const的类型,而保留low-level const的类型.

const int ci = 1;
auto i = ci;//i是int型
auto i =&ci;//i是const int *类型的

在处理类型为auto的引用时,top const仍然保留.
auto &i = ci;//i是const int &

如果希望最后类型有const,应该用 const auto i = ci;//i 是 const int

0 0
原创粉丝点击