"="연산자를 재정의하고 싶습니다. 클래스에 "="를 사용할 때 변경하려는 const 멤버가 있습니다. 오브젝트를 분해하고 새로운 대상이 효과가있을 수 있지만 "이"는 변할 수 없습니다. 그래서, 저를 도와 주시겠습니까?+ + 연산자를 오버라이드하고이
답변
변경하려는 회원을 mutable
으로 표시 할 수 있습니다. 이것은 키워드의 목적입니다. 물론
, 당신은 당신은 pimpl 관용구를 사용할 수 있습니다 ... operator=
클래스를 수정하지 않습니다 그 클래스의 사용자에게
사실, 그냥 "="개체의 다른 const 멤버를 복사하려면 사용하고 싶습니다. 난 deconstructor 및 생성자를 사용하는 방법을 알고 싶습니다. – TonyWen
@ TonyWen : 소멸자를 명시 적으로 호출 한 다음 배치'new'를 사용할 수는 있지만 예외가 안전하지는 않습니다. –
@BenVoigt : 위험이없는 것은 재미가 없습니다 ... –
을 암시 계약을 파괴 할 수있다. 예를 들면 다음과 같습니다.
정말이 점을 알지 못합니다.
- 1. new 연산자를 사용하여 new 연산자를 사용하여 Java에서 문자열로 인스턴스화하는 경우
- 2. DataTable.Select 연산자를 사용하여 선택
- 3. 연산자를 오버로드하는 방법 =
- 4. 문자열에서 '&'연산자를 피하는 방법
- 5. 새로운()와 [] 연산자를
- 6. qtscript로 연산자를 재정의
- 7. && 연산자를 사용하여 오류가 발생했습니다.
- 8. ANTLR AST 연산자를 무시합니다.
- 9. 프롤로그에서 AND 연산자를 재정의
- 10. 부울 연산자를 넓히는 사용
- 11. 기존 형식으로 연산자를 "삽입"
- 12. Boost.Python으로 연산자를 오버로드하는 방법
- 13. 연산자를 가상으로 만드는 중?
- 14. 파이썬의 모든 연산자를 재정의하십시오.
- 15. 연산자를 포함하는 SQL 조건문
- 16. 오류 연산자를 "+"오버로드를 구현
- 17. 오버로드 + = +, ==와 = 연산자를
- 18. 이원 연산자를 사용한 구성?
- 19. Moq에서 is 연산자를 조롱
- 20. 함수에 증분 연산자를 적용하십시오.
- 21. 메모장 정규식 연산자를 곱하면
- 22. 조건부 연산자를 C#
- 23. [] 연산자를 재정의하는 방법은 무엇입니까?
- 24. C++ 템플릿에 = 연산자를 오버로드
- 25. 비대칭 + 연산자를 정의하는 방법
- 26. C++ - 연산자를 char로 저장
- 27. + 연산자를 사용하지 않고 추가
- 28. 화살표 내부 연산자를 스위치
- 29. '+'연산자를 사용한 문자열 연결
- 30. C에서 간접 연산자를 오버로드
멤버 const에 단순히 레이블을 지정하지 않는 것이 옵션이 아닌 것 같습니까? 왜 안돼? –