C++11常用新特性总结

1.auto关键字及用法

  • 只是使用auto的时候,编译器根据上下文情况,确定auto变量的真正类型。用法:
    auto index = 10;
    cout << "index:" << index;

存在意义:

  • 写代码更简洁,类型自动判断,特别是在复杂容器的数据结构中。

使用注意:

  • auto不可以作为函数的返回值。

2.nullptr关键字及用法

  • nullptr和NULL用法基本相同。
  • 解决空指针NULL表示可能出错的情况。

出错示例:

#include <iostream>

using namespace std;

class Test
{
    
    
public:
    void TestFunc(int index)
    {
    
    
        std::cout << "TestFunc 1" << std::endl;
    }
    void TestFunc(int * index)
    {
    
    
        std::cout << "TestFunc 2" << std::endl;
    }
};

int main()
{
    
    
    Test test;
    test.TestFunc(NULL);
    test.TestFunc(nullptr);

    return 0;
}

test.TestFunc(NULL);调用的结果也应该是"TestFunc 2",实际结果是"TestFunc 1"。

猜你喜欢

转载自blog.csdn.net/oTianLe1234/article/details/114369943