目录

一、nullptr,0,NULL都是什么类型

二、正确调用函数指针版本的函数重载

三、模板推导时使用不能混用


一、nullptr,0,NULL都是什么类型

auto a = 0;        -> int
auto a = NULL;      -> long
auto a = nullptr;   -> std::nullptr_t

二、正确调用函数指针版本的函数重载

void f(int);
void f(bool);
void f(void*);

f(0);        -> void f(int);
f(NULL);     -> 错
f(nullptr);  ->void f(void*);

三、模板推导时使用不能混用

template<typename FuncType,Typename PtrType>
decltype(auto) func(FuncType f, PtrType ptr) {
    return f(ptr);
}

bool f3(int* p);
auto result = func(f3, nullptr); //此处只能用nullptr

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部