小编Dmi*_*hin的帖子

为什么std :: get_deleter()总是产生nullptr

我试图使用c ++ 14,并想知道为什么std :: get_deleter永远不会返回它应该做的指针.这是代码,请告诉我某人为什么输出为0:

https://ideone.com/WT5uSR

#include <iostream>
#include <memory>


int main() {
    std::shared_ptr<int> iptr(new int(999), [](int*p){delete(p);});
    auto _d = std::get_deleter<void(*)(int*)>(iptr);

    if(_d)
        std::cout<<"1";
    else
        std::cout<<"0";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ smart-pointers shared-ptr c++11

2
推荐指数
1
解决办法
205
查看次数

标签 统计

c++ ×1

c++11 ×1

shared-ptr ×1

smart-pointers ×1