nullptr_t 实现

const class nullptr_t{
    public: 
        // 定义类型转换操作符,使nullptr_t 可转为任意非类成员指针类型  
        template<class T> 
        inline operator T*() const{ return 0; }

        // 重载类型转换操作符,使 nullptr_t 可以转换为类 C 中任意的指针类型(数据成员指针/函数成员指针)      
        // 对类中数据成员的指针,T 将被推导为数据成员的类型 eg: int (X::*); 此时 T 为 int,C 为 X  
        // 对类中函数成员的指针,T 将被推导为函数成员的类型 eg: int (X::*)(int); 此时T 等效于: typedef int (T)(int)
        template<class C, class T> 
        inline operator T C::*() const { return 0; }
    private:
        void operator&() const;
} nullptr = {};
全部评论

相关推荐

04-10 11:56
如皋中学 Java
高斯林的信徒:双c9能简历挂的?
点赞 评论 收藏
分享
牛客33727151号:不是哥们我以为驾照是段子呢
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务