2014-04-08 6 views
0

참조 계산 된 객체의 범위 도우미 역할을하는 클래스에서 작업하고 있습니다. 다음 인터페이스 클래스를 사용하는 것을 허용한다 : 레퍼런스 카운트를 포함하는 클래스래핑 된 참조 계산, 이동 의미에 관한 질문

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

String있다.

저는 이동 의미론에별로 익숙하지 않아 움직이는 의미에 적용되는 구체적인 용지를 찾을 수 없었습니다. 기본적으로 내가 궁금해하는 부분은 다음과 같습니다.

this은 이동 생성자에서 이미 초기화 된 객체일까요? 이 경우에 String을 가리키는 내 Handle 클래스의 멤버가 가비지 값을 포함하고 있거나 실제로 String을 가리키고 있는지 구분할 수 없습니다.

+0

질문이 명확하지 않습니다. '* this'는 생성자에서 결코 "이미 초기화"되어 있지 않습니다. 이동 생성자는 동일한 클래스에 대한 rvalue 형식의 단일 인수를 취하는 생성자 일뿐입니다. – Oktalist

답변

0

배치 구성을 사용하는 것이 가능하지만 문제가 있는지 묻습니다. 나는 왜 내가 그것을 언급했는지 모른다. 짧은 대답 : 아니오, 불가능합니다. 이동 생성자는 허용되는 값 유형의 다른 생성자와 만 다릅니다.