zoukankan      html  css  js  c++  java
  • c++11新特性之nullptr 和NULL

    nullptr关键字及用法

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

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

    复制代码
    //示例代码1.0 http://www.cnblogs.com/feng-sc/p/5710724.html
    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的时候,我们能调用到正确的函数。

    青青园中葵,朝露待日晞。 阳春布德泽,万物生光辉。 常恐秋节至,焜黄华叶衰。 百川东到海,何时复西归? 少壮不努力,老大徒伤悲!
  • 相关阅读:
    dmesg
    [转]df命令
    [转]linux /proc/cpuinfo 文件分析
    awk
    sed
    [转]进程间通信
    Bootstrap 树形列表与右键菜单
    Maven国内仓库
    《深入剖析Tomcat》源码
    Spring in Action学习笔记(2)
  • 原文地址:https://www.cnblogs.com/weiyouqing/p/14678428.html
Copyright © 2011-2022 走看看