C++11新特性

2020-12-13 15:35

阅读:648

标签:写法   auto   https   any   decltype   --   返回   推断   ios   

1.nullptr

nullptr比NULL更安全。当需要使用NULL时,应使用nullptr代替。

2.auto

自动推断变量类型,常用于迭代器。

3.decltype

自动推断表达式类型。decltype(表达式)

int x = 1;
int y = 2;
decltype(x+y) z;

4.拖尾返回类型

用于模板类的后置返回类型。

template
auto add(T x, U y) -> decltype(x+y) 
{
    return x+y;
}

从 C++14 开始是可以直接让普通函数具备返回值推导,因此下面的写法变得合法:

template
auto add(T x, U y)
 {
    return x+y;
}

5.for增强

基于范围的for循环,多用于遍历容器。for(int a:vector){}
迭代器时是指针,非迭代器时是基本类型。
因此,迭代器++是地址(指针)++,基本类型++是数值++。
在顺序取值时使用基本类型,需要特殊位置取值时使用迭代器。

#include 
#include 

int main() {
   std::vector arr(5, 100);
   std::cout 
Start:
--------非引用(只读)-----------
100
100
100
100
100
--------引用(读写)-----------
100
100
100
100
100
---------测试引用输出----------
101
101
101
101
101
--------迭代器-----------
101
101
101
101
101
Press any key to continue . . .

参考链接:
https://blog.csdn.net/jiange_zh/article/details/79356417
https://blog.csdn.net/y396397735/article/details/79615834

C++11新特性

标签:写法   auto   https   any   decltype   --   返回   推断   ios   

原文地址:https://www.cnblogs.com/chendeqiang/p/11612953.html


评论


亲,登录后才可以留言!