访问unique_ptr指向的对象



非常简单的问题:

我对C++中的智能指针有点陌生。我想我得到了所有权的东西,但我不知道如何访问他们实际指向的内容。当我尝试使用对象的成员函数/变量时,我只获取unique_ptr类的函数,这不是我想要的。

我可以看到三种方法:operator->operator*get()

下面是一个运行代码示例:ideone it

#include <iostream>
#include <memory>
struct Foo
{
Foo(std::string v) : value(v) {}
void Bar() { std::cout << "Hello, " << value << "!" << std::endl; }
std::string value;
};
int main() {
std::unique_ptr<Foo> FooPtr = std::make_unique<Foo>("World");
FooPtr->Bar();
FooPtr.get()->Bar();
(*FooPtr).Bar();
return 0;
}

相关内容

  • 没有找到相关文章

最新更新