如何打印指针的引用值?
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"
答案 0 :(得分:0)
这不会起作用,因为当unique_ptr超出范围时,它会自动释放它的内存。
http://en.cppreference.com/w/cpp/memory/unique_ptr
你可以做的是
int createInt(){
return 2;
}
或
int* createIntPtr(){
return new int(2);
}
虽然这可能是不好的做法。您还可以执行其他操作,例如传递对值的引用并对其进行编辑,具体取决于您的需要。