我必须对其他人编写的某些函数进行谷歌测试,我遇到了以前从未遇到过的情况。参见下面的伪代码:
typedef boost::shared_ptr<CSomeClass> CSomeClass_sh_ptr;
CSomeClass_sh_ptr getSomething(int A)
{
if(A>3)
{
return CSomeClass_sh_ptr();
}
CSomeClass_sh_ptr pointerToCSomeClass = otherPointerToCSomeClass;
return pointerToCSomeClass;
}
所以我的问题是 -
CSomeClass_sh_ptr()
或
boost::shared_ptr<CSomeClass>()
是什么意思?
最佳答案
在您的上下文中,CSomeClass_sh_ptr()
是 CSomeClass_sh_ptr
的默认构造实例.换句话说,一个默认构造的 boost::shared_ptr<CSomeClass>
.
请注意 boost::shared_ptr<SomeClass>
不是指针。它是一种管理指针的类型。默认构造时,其托管指针为 NULL 或 nullptr
.
关于C++:指针和圆括号 - 这是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21136034/