nullptr模拟实现

来源:互联网 发布:山东外贸职业学院知乎 编辑:程序博客网 时间:2024/06/07 17:21

C++11,其中有一个是新的关键字nullptr,如果我们的编译器是支持nullptr的话,那么我们应该直接使用nullptr来替代NULL的宏定义。正常使用过程中他们是完全等价的。某些编译器不支持c++11的新关键字nullptr,我们也可以模拟实现一个nullptr。

const
class nullptr_t {
public:
    template<class T>
    inline operator T*() const {
    return 0;
    }

    template<class C, class T>
    inline operator T C::*() const {
    return 0;
    }
 
private:
    void operator&() const;
} nullptr = {};


#undef NULL
#define NULL nullptr


0 0
原创粉丝点击