std::make_shared 初始化string
时间: 2023-11-14 11:06:19 浏览: 208
智能指针shared-ptr的初始化.pdf
您可以使用 `std::make_shared` 来初始化 `std::string`。这是一个指向 `std::string` 的智能指针的示例代码:
```cpp
#include <iostream>
#include <memory>
#include <string>
int main() {
std::shared_ptr<std::string> ptr = std::make_shared<std::string>("Hello, World!");
std::cout << *ptr << std::endl;
return 0;
}
```
在这个示例中,`std::make_shared<std::string>("Hello, World!")` 会创建一个指向字符串 "Hello, World!" 的 `std::shared_ptr<std::string>`。然后,我们通过解引用指针 `*ptr` 来访问字符串,并将其输出到标准输出流中。
运行此代码将输出:`Hello, World!`
请注意,`std::make_shared` 的好处是它将分配内存和初始化对象的任务合并在一起,从而提高了性能。
阅读全文