今天搜狗笔试的一道选择题,原题给忘了,但记得所考的知识点.知识点很基础,但很容易忽视. 具体内容可参考C++ Primer. auto :变量取auto后,其所对应的类型 auto一般会忽视顶层const,保留底层const.但如果将引用类型设为const,则会保留相应的顶层const.下面是C++ Primer书 中的例题,我给出了相应的标注.个人觉得比较容易犯错的地方是对常量对象取地址和对引用加auto. int main() { /* int i = 0, &r = i; a…
1.auto关键字 C++新标准引入auto关键词,此auto与之前C语言的auto意义已经不一样了. 这里的auto是修饰未知变量的类型,编译器会通过此变量的初始化自动推导变量的类型. 例如:auto i = 0 :编译器会通过“0”值,推导出变量i是整型. 如果初始值是引用,如: [cpp] view plain copy int i = 4; int &ri = i; auto ai = ri; 通过应用是利用了ri指向的对象,所以ai的类型是int.也就是ai与i的类型是相同的. 另…
auto 1.编译器通过分析表达式的类型来确定变量的类型,所以auto定义的变量必须有初始值. auto i=; //ok,i为整型 auto j; //error,定义时必须初始化. j=; 2.auto可以在一条语句中声明多个变量,但该语句中所有变量的初始值类型必须有一样. auto i=,*P=&i; //ok,i是整数,p是整型指针 auto a=,b=3.14; //error,a和b类型不一致 3.auto会忽略掉顶层const,同时底层const则会保留下来 ,&b=…