先上代码
1. const 只修饰auto后的对象。
对比 第4行(c)和第9行(f)可以发现,这里的const只auto后面的对象。如果这个对象是指针,不一定会对指针所指的对象变为const。这还取决之前所指的对象是否为const(a)。
2. 对于const的一般对象(不是指针),auto不会自动的把const也推理出来,这点和指针区别很大。
这里第2行和第24行可以看出来。
3. 用auto * 时,如果对象是指针,auto会变成指针所指的类型。
第12行(i)和第13行(j),可以看出这个规律。
4. 把非const的指针变成const xxx* const a 时,必须用auto*。
这里第10行(g)和第11行(h),可以看出。
5. 智能指针.get时,不会保留其const。
第17行可以看出来。