在C++11之后,const auto可以用于声明具有初始值的常量变量,其中auto会根据初始值的类型推断变量的类型,并且可以使用const来确保该变量是一个常量。const auto的新用法包括:
声明常量变量并进行初始化:
const auto i = 10; // 编译器会自动推断i为int类型的常量变量
const auto d = 3.14; // 编译器会自动推断d为double类型的常量变量
声明常量引用:
const auto& ref = i; // 编译器会自动推断ref为int类型的常量引用
声明常量指针:
const auto* ptr = &i; // 编译器会自动推断ptr为指向int类型常量的指针
声明常量lambda表达式:
const auto lambda = [](int x) { return x * 2; }; // 编译器会自动推断lambda为一个常量lambda表达式
总之,const auto的新用法提供了更加方便和灵活的声明常量变量的方式,同时避免了显式指定变量类型的繁琐。