如何打印指针

时间:2015-08-14 07:16:48

标签: c++

如何打印指针的引用值?

int& createInt(){
    auto uPtr = make_unique<int>(2);
    auto ptr(uPtr.get() );
    return *ptr;
}

当我调用2函数时,如何打印值createInt()

int& x = createInt();  // what will be the value of "x"

1 个答案:

答案 0 :(得分:0)

这不会起作用,因为当unique_ptr超出范围时,它会自动释放它的内存。

http://en.cppreference.com/w/cpp/memory/unique_ptr

你可以做的是

int createInt(){
    return 2;
}

int* createIntPtr(){
    return new int(2);
}

虽然这可能是不好的做法。您还可以执行其他操作,例如传递对值的引用并对其进行编辑,具体取决于您的需要。