自定义“nullptr”,但如何理解代码?

LaoJiu

来自维基百科,如果我们的编译器不支持c++11,我们可以自己实现一个,就像下面这样:

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 = {};

我看不懂上面的代码。

- - - - - - - - - - - 更新 - - - - - - - - -

对不起,我没有表达清楚。

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

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

上面的代码,我看不懂语法。我以前从未见过这种模板形式。(如“operator TC::*()”)

彼得
template<class T>
inline operator T*() const
    { return 0; }

意味着类型的对象nullptr_t可以隐式转换为任何(非成员)指针类型。它只是一个为任何类型模板化operator T *()函数(转换为类型T *T

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

意味着类型的对象nullptr_t可以转换为指向C任何类型(模板参数T的任何类(模板参数)的非静态成员的指针

两个运算符都是const,因此不能更改nullptr_t对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自定义NSError代码

来自分类Dev

自定义NSError代码

来自分类Dev

如何编写将代码注入函数的自定义属性

来自分类Dev

如何使用自定义模板生成代码?

来自分类Dev

如何调试代码分析自定义规则?

来自分类Dev

您如何使用自定义错误并保留响应代码?

来自分类Dev

WPF如何从自定义UserControl代码访问同级

来自分类Dev

如何使用代码添加自定义BizTalk持久点?

来自分类Dev

如何使用自定义钩子构造代码

来自分类Dev

如何为VS代码创建自定义终端命令

来自分类Dev

如何自定义JHipster代码生成模板?

来自分类Dev

如何使用自定义代码在Magento中创建?

来自分类Dev

Emacs:如何使自定义意识到新代码?

来自分类Dev

如何将自定义代码与Drupal合并

来自分类Dev

如何在此代码中使用自定义函数?

来自分类Dev

如何编写和运行apache Giraph自定义代码?

来自分类Dev

如何使用代码添加自定义BizTalk持久点?

来自分类Dev

如何从顶点代码检查自定义设置的权限

来自分类Dev

如何命名我的自定义HTTP代码?

来自分类Dev

如何使用C ++代码调用Matlab自定义函数

来自分类Dev

SQL - 如何计算自定义创建的错误代码

来自分类Dev

如何使用 HttpWebResponse 处理自定义 HTTP 状态代码

来自分类Dev

Android / Java:如何定义代码块并保留无自定义异常的代码块?

来自分类Dev

如何扩展Sublime对语言语法的理解,以合并自定义语法?

来自分类Dev

如何在邮件中添加自定义代码?在@message变量中添加红宝石代码

来自分类Dev

CSS:如何更改bootstrap LESS code.less源代码以自定义代码颜色?

来自分类Dev

后面的自定义验证代码

来自分类Dev

从ActionFilterAttribute返回自定义HTTP代码

来自分类Dev

通过这样的代码自定义视图

Related 相关文章

  1. 1

    自定义NSError代码

  2. 2

    自定义NSError代码

  3. 3

    如何编写将代码注入函数的自定义属性

  4. 4

    如何使用自定义模板生成代码?

  5. 5

    如何调试代码分析自定义规则?

  6. 6

    您如何使用自定义错误并保留响应代码?

  7. 7

    WPF如何从自定义UserControl代码访问同级

  8. 8

    如何使用代码添加自定义BizTalk持久点?

  9. 9

    如何使用自定义钩子构造代码

  10. 10

    如何为VS代码创建自定义终端命令

  11. 11

    如何自定义JHipster代码生成模板?

  12. 12

    如何使用自定义代码在Magento中创建?

  13. 13

    Emacs:如何使自定义意识到新代码?

  14. 14

    如何将自定义代码与Drupal合并

  15. 15

    如何在此代码中使用自定义函数?

  16. 16

    如何编写和运行apache Giraph自定义代码?

  17. 17

    如何使用代码添加自定义BizTalk持久点?

  18. 18

    如何从顶点代码检查自定义设置的权限

  19. 19

    如何命名我的自定义HTTP代码?

  20. 20

    如何使用C ++代码调用Matlab自定义函数

  21. 21

    SQL - 如何计算自定义创建的错误代码

  22. 22

    如何使用 HttpWebResponse 处理自定义 HTTP 状态代码

  23. 23

    Android / Java:如何定义代码块并保留无自定义异常的代码块?

  24. 24

    如何扩展Sublime对语言语法的理解,以合并自定义语法?

  25. 25

    如何在邮件中添加自定义代码?在@message变量中添加红宝石代码

  26. 26

    CSS:如何更改bootstrap LESS code.less源代码以自定义代码颜色?

  27. 27

    后面的自定义验证代码

  28. 28

    从ActionFilterAttribute返回自定义HTTP代码

  29. 29

    通过这样的代码自定义视图

热门标签

归档