码迷,mamicode.com
首页 > 编程语言 > 详细

C++11 nullptr关键字及用法

时间:2020-10-10 16:51:49      阅读:30      评论:0      收藏:0      [点我收藏+]

标签:期望   一个   mic   image   使用   int   test   style   end   

为什么需要nullptr? NULL有什么毛病?

我们通过下面一个小小的例子来发现NULL的一点问题:

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

int main()
{
    Test test;
    test.TestWork(NULL);
    test.TestWork(nullptr);
}

运行结果:

技术图片

 

 NULL在c++里表示空指针,看到问题了吧,我们调用test.TestWork(NULL),其实期望是调用的是void TestWork(int * index),但结果调用了void TestWork(int index)。但使用nullptr的时候,我们能调用到正确的函数。

C++11 nullptr关键字及用法

标签:期望   一个   mic   image   使用   int   test   style   end   

原文地址:https://www.cnblogs.com/zwj-199306231519/p/13789314.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!