auto推导类型注意
auto推导类型忽略顶层const,不忽略底层const。
顶层const:指针或引用本身是const不可变,也就是指针指向的内存地址不可变,但指向的内存内容可变。
底层const:指针指向的内存地址可变,但指向内存的内容不可变。
const int a = 10;
auto x = a; //x是一个普通int
auto px = &a; //px是一个指向int常量的指针(底层const)
auto推导类型忽略顶层const,不忽略底层const。
顶层const:指针或引用本身是const不可变,也就是指针指向的内存地址不可变,但指向的内存内容可变。
底层const:指针指向的内存地址可变,但指向内存的内容不可变。
const int a = 10;
auto x = a; //x是一个普通int
auto px = &a; //px是一个指向int常量的指针(底层const)