6
boost::unordered_map
에 값 유형이어야하는 특정 유형의 이동 생성자 (복사 생성자 없음)를 구현하려고합니다. 이 유형을 Composite
이라고 부릅니다.생성자 및 초기화 목록 이동
struct Base
{
Base(..stuff, no default ctor) : initialization list {}
Base(Base&& other) : initialization list {}
}
struct Composite
{
Base member;
Composite(..stuff, no default ctor) : member(...) {}
Composite(Composite&& other) : member(other.member) {} // <---- I want to make sure this invokes the move ctor of Base
}
내가이 그렇게 boost::unordered_map< Key , Composite >
는 복사 생성자가 필요하지 않습니다 쓰고 싶어, 그냥 이동 생성자를 사용
Composite
다음과 같은 서명이 있습니다. 가능한 경우 move 생성자의 초기화 목록에의 복사본 생성자를 Composite
으로 사용하고 싶지 않습니다.
이것이 가능합니까?
비교적 새로운 용어 * 범용 참조 *를 잘 사용하려면 +1하십시오. – mavam
@MatthiasVallentin : 그 용어는 Scott Meyers가 그 자리에서 고안 한 것입니다. 표준위원회는 요즘 "전달 참조"라는 용어를 선호합니다. –
우리는 거의 2 년 후, 지역 사회가 안정된 기간에 수렴했음을 알게되어 기쁩니다. – mavam