C++ 是否可能使C++;11新操作员是否要创建智能指针?

C++ 是否可能使C++;11新操作员是否要创建智能指针?,c++,c++11,smart-pointers,C++,C++11,Smart Pointers,我希望总是使用C++11智能指针,使用传统的指针语法(有点类似于Java语法),因为我不想担心内存管理,我认为用自定义操作符重载新操作符是个好主意,换句话说 而不是像这样动态创建新对象: obj *o = new obj(); 创建指向obj的传统指针,我想让它创建智能指针,如下所示 obj *o = new obj(); // o will be deleted automatically 我怎么做这样的东西 注意:我不想替换原来的新操作符,我只想重载我自己的类1 谢谢。不

我希望总是使用C++11智能指针,使用传统的指针语法(有点类似于Java语法),因为我不想担心内存管理,我认为用自定义操作符重载新操作符是个好主意,换句话说

而不是像这样动态创建新对象:

    obj *o = new obj();
创建指向obj的传统指针,我想让它创建智能指针,如下所示

    obj *o = new obj(); // o will be deleted automatically
我怎么做这样的东西

注意:我不想替换原来的新操作符,我只想重载我自己的类1

谢谢。不用了

只要您有
obj*o=new…
您仍然返回一个普通指针,而不是一个新类型

需要一个新类型(智能指针类),以便可以使用析构函数释放内存。如果您只有一个普通指针,那么您必须手动删除它


(有可能提出一个全局垃圾收集器——每个新的分配都会记录在那里,全局GC将被调用,定期扫描不再指向的内存区域,然后释放它们)。

我认为这不是一个好主意。创建C++11智能指针(及其包装的对象)的标准语法已经非常简单。使用传统的非智能指针语法只会混淆你的代码的读者。你可以只使用<代码> STD::SyrdypTrp>代码>或<代码> STD::UnQuyJPPT/<代码>代替“代码> OBJ */COD> > JOGOJONE,每个C++标准都有新的创建对象的方法,例如在C++ 14中有MaxuunQueo()方法!我想使用一个语法,并且还使用推荐的标准事物,因为我想做我的统一方法,那么任何时候有变化我C++标准我只需要改变这个方法,而不改变我所有的库代码。<代码> Auto O= STD::MaMuxUngy()代码>似乎很简单。但我想用统一的方式,因为C++11有std::unique_ptr,C++14有std::make_unique(),我在C++17中听说std::auto_ptr将返回:-/@Ahmedajelsir谁告诉过你
auto_ptr
将返回?它已经被完全删除了。无论如何,我希望有一种方法可以做到这样一个统一的方式,当有变化时,只需改变核心function@T.C.你是什么意思?我想你不明白我的意思。