C에서 이동 연산 자동 생성
C 98에서 컴파일러는 클래스에 대한 복사 생성자와 복사 할당 연산자를 자동으로 생성할 수 있었습니다. 그러나 C 11에 이동 의미론이 도입되면서 이동 연산의 자동 생성에 대한 의문이 생깁니다.
이동 생성자와 이동 할당 연산자가 자동으로 생성됩니까?
아니요, 복사 생성자 및 복사 할당 연산자와 달리 컴파일러는 사용자 정의 생성자 또는 할당이 있는 클래스에 대한 이동 작업을 자동으로 생성하지 않습니다.
이동 작업이 자동으로 생성되지 않는 경우
다음과 같은 경우 이동 작업이 자동으로 생성되지 않습니다.
이동 자동 생성 결정 작업
클래스에 대해 이동 작업이 자동으로 생성되는지 확인하려면 다음을 고려하세요.
자동 지원 중단 이동 연산 생성
C 20에서는 이동 연산의 자동 생성이 더 이상 사용되지 않습니다. 클래스가 소멸자 또는 복사 멤버(복사 생성자, 복사 할당 연산자)를 선언하는 경우. C의 향후 버전과의 호환성을 보장하려면 이동 작업이 필요한 클래스에 대해 이동 작업을 명시적으로 선언하는 것이 좋습니다.
위 내용은 C 컴파일러는 언제 이동 생성자와 할당 연산자를 자동으로 생성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!