ura*_*ray 4 c++ friend visual-studio-2010 shared-ptr
如何做朋友的功能std::make_shared().
我试过了:
class MyClass{
public:
friend std::shared_ptr<MyClass> std::make_shared<MyClass>();
//or
//friend std::shared_ptr<MyClass> std::make_shared();
protected:
MyClass();
};
Run Code Online (Sandbox Code Playgroud)
但它不起作用(我使用的是Visual Studio 2010 SP1)
Ker*_* SB 10
如何在类中添加静态方法:
class Foo
{
public:
static shared_ptr<Foo> create() { return std::shared_ptr<Foo>(new Foo); }
private:
// ...
};
Run Code Online (Sandbox Code Playgroud)
这里有点讨厌:
class Foo
{
struct HideMe { };
Foo() { };
public:
explicit Foo(HideMe) { };
static shared_ptr<Foo> create() { return std::make_shared<Foo>(HideMe());
};
Run Code Online (Sandbox Code Playgroud)
没有人可以使用除类本身之外的公共构造函数.它本质上是公共接口的非接口部分.询问Java人员是否有这样的名字:-)
| 归档时间: |
|
| 查看次数: |
3199 次 |
| 最近记录: |