zoukankan      html  css  js  c++  java
  • 建议使用nullptr而不是NULL

    发现在做LeetCode题的时候使用空指针输入nu后编辑器会自动提示nullptr或NULL, 于是想知道这二者有什么区别.

    c++ Primer 中:

    得到空指针最直接的办法就是用字面值nullptr来初始化指针, 这也是c++11新标准刚刚引入的一种方法.

    过去的程序还会用到一个名为NULL的预处理变量来给指针赋值, 这个变量在头文件cstdlib中定义,他的值就是0.

    在新标准下, 现在的c++程序最好使用nullptr,同时尽量避免使用NULL.

    另外,看LeetCode提示nullptr或NULL是按照答题区定义的结构体来的:

    /**提示nullptr
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
     *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
     *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
     * };
     */
     
     /**提示NULL
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    
  • 相关阅读:
    Ubantu Mark
    异或
    C语言读书笔记
    Mark
    Python文件操作
    (转)Hadoop系列-IPC模型
    Java动态代理
    (转)适配器模式--Adapter Pattern
    关于abstract class 和 interface
    单例模式
  • 原文地址:https://www.cnblogs.com/SophieWang-cmu/p/14061881.html
Copyright © 2011-2022 走看看