【发布时间】:2014-04-08 01:08:14
【问题描述】:
我正在开发一个类,该类充当引用计数对象的作用域助手。该接口应允许使用如下类:
{
Handle<String> s = Handle<String>::New("Hello, World!");
s = s->Concat(Handle<String>::New(" My name is Peter"));
}
而String 是包含引用计数的类。
我对移动语义不是很熟悉,也找不到满足移动语义适用条件的具体论文。基本上,我想知道的是:
this 可以是已经在移动构造函数中初始化的对象吗?因为如果是这种情况,我无法区分我的Handle 类中指向String 的成员是否包含一些垃圾值或实际上指向一个真正的String。
【问题讨论】:
-
你的问题不清楚。
*this在构造函数中永远不会“已经初始化”。移动构造函数只是一个将右值类型的单个参数引用到同一类的构造函数。
标签: c++ move-semantics reference-counting