指定 std::nullptr_t 类型的 null 指针常量,该类型可转换为任何原始指针类型。尽管您可以使用关键字 nullptr 而不包含任何标头,但如果您的代码使用类型 std::nullptr_t,则您必须通过包含标头 <cstddef> 来定义该类型。请避免将 NULL 或零 (0) 用作 null 指针常量;nullptr 不仅不易被误用,并且在大多数情况下使用效果更好。例如,给定 func(std::pair<const char *, double>),那么调用 func(std::make_pair(NULL, 3.14)) 会导致编译器错误。宏NULL将扩展为0,以便调用make_pair(0, 3.14) 将返回 std::pair<int, double>,此结果不可转换为 func() 的 std::pair<const char *, double> 参数类型。调用 func(std::make_pair(nullptr, 3.14)) 将会成功编译,因为make_pair(nullptr, 3.14) 返回 pair<std::nullptr_t, double>,此结果可转换为 pair<const char *, double>。
class XYCombineRecord: public Node
{
public:
XYCombineRecord():
m_imgIndex(0)
,m_displayMode(DISPLAY_MODE_NORMAL)
,callback(NULL){}; //编译失败
CREATE_FUNC(XYCombineRecord);
std::function<void(XYCombineRecord* ,PlayLayer*)> callback;
class XYCombineRecord: public Node
{
public:
XYCombineRecord():
m_imgIndex(0)
,m_displayMode(DISPLAY_MODE_NORMAL)
,callback(nullptr){}; //编译成功
CREATE_FUNC(XYCombineRecord);
std::function<void(XYCombineRecord* ,PlayLayer*)> callback;
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。