SomeSmartPtr<MyObject> ptr(new MyObject());
ptr->DoSomething(); // Use the object in some way.
我只是一个c#/ java人。函数调用的第一行使用了什么类型的语法。为什么赋值运算符后面没有声明。什么允许你分配和声明那样。
答案 0 :(得分:3)
声明和初始化对象的第一种形式称为直接初始化。
您也可以使用:
SomeSmartPtr<MyObject> ptr = new MyObject();
称为复制初始化。您可以在http://en.cppreference.com/w/cpp/language/initialization了解C ++支持的各种类型的初始化。