包含引用计数,关于移动语义的问题

时间:2014-04-08 01:08:15

标签: c++ move-semantics reference-counting

我正在处理一个类,它充当引用计数对象的作用域助手。接口应该允许使用类,如下所示:

{
    Handle<String> s = Handle<String>::New("Hello, World!");
    s = s->Concat(Handle<String>::New(" My name is Peter"));
}

String是包含引用计数的类。

我对移动语义并不熟悉,我无法找到适合移动语义的条件的具体论文。基本上,我想知道的是:

this可以是已在移动构造函数中初始化的对象吗?因为如果是这种情况,我不能分辨我的Handle类中指向String的成员是否包含一些垃圾值或实际指向真实的String

1 个答案:

答案 0 :(得分:0)

我猜这可能是使用贴片构造,但这样做是在寻找麻烦。我甚至不知道为什么我提到它。简短的回答:不,它不能。移动构造函数仅与它们接受的值类型中的其他构造函数不同。