千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > c++11auto和decltype关键字

c++11auto和decltype关键字

来源:千锋教育
发布人:syq
时间: 2023-05-17 14:14:00 1684304040

  在 C++11 中,引入了 `auto` 和 `decltype` 两个新的关键字,它们都用于处理类型。

c++11auto和decltype关键字

  1. `auto`:这个关键字用于自动类型推断。当你声明一个变量时,可以使用 `auto` 关键字让编译器自动推断其类型。

auto a = 42; // a is int
auto b = 3.14; // b is double
auto c = "Hello"; // c is const char*
auto d = true; // d is bool

   你还可以使用 `auto` 关键字在范围基础的 for 循环中自动推断元素的类型:

std::vector<int> vec = {1, 2, 3, 4, 5};
for(auto i : vec) {
std::cout << i << std::endl;
}

  2. `decltype`:这个关键字用于查询表达式的类型。当你需要知道某个表达式的类型,但是又不想或不能显式地指定它时,可以使用 `decltype` 关键字。

int x = 0;
decltype(x) y = x; // y has the same type as x, i.e., int

 千锋教育

  在模板编程中,`decltype` 关键字尤其有用,因为它可以用于查询模板参数的类型。

template<typename T, typename U>
auto add(T t, U u) -> decltype(t + u) {
return t + u;
}

   在这个例子中,`decltype(t + u)` 查询 `t + u` 表达式的类型,然后使用这个类型作为函数的返回类型。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT