std::make_unique 是C++14引入的一个函数模板,用于创建并返回一个指向动态分配对象的 std::unique_ptr 智能指针。提供了一种更安全、更方便的方式来创建和管理动态分配的对象,避免了手动使用new和delete带来的内存管理问题。
使用时需要包含头文件<memory>;
一个简单示例,
#include <iostream>
#include <memory>
int main() {
std::unique_ptr<int> ptr = std::make_unique<int>(142);
std::cout << "Value: " << *ptr << std::endl;
return 0;
}
当前我的VS2012不认识std::make_unique;
在dev c++中运行程序,输出如下,
Dev-C++ 默认使用的编译器可能是 GCC 或者 MinGW,这两个编译器都支持 C++14。VS用的是MS自己的,不是gcc,也不是mingw;
看一下当前dev c++使用的编译器;