C++에서는 (참조)를 사용하여 STL 컨테이너의 값 주소를 가져올 수 있지만 해당 값을 변경할 수는 없습니다.
習慣沉默
習慣沉默 2017-05-16 13:28:05
0
3
659
으아악

도와주셔서 감사합니다.

習慣沉默
習慣沉默

모든 응답(3)
仅有的幸福

참조에 대한 잘못된 이해가 있습니다
getTestData(testMap, 1, tempData1);
이 명령문은 tempData1을 testMap[1]에 대한 참조로 만들지 않습니다. 이 함수는 단지 함수의 데이터에 대한 모든 작업이 tempDada1에 동일하게 반영되도록 할 뿐입니다. , 따라서 데이터는 tempData1에 대한 참조가 됩니다. 그리고 tempdata1은 testMap의 어떤 요소도 전혀 참조하지 않으므로 tempdata1을 변경해도 아무런 효과가 없습니다.

某草草

getTestData 함수에서 할당문 data=it-<second;는 클래스의 복사 생성자를 호출합니다. 작성하지 않았기 때문에 기본 복사 생성자가 호출됩니다. 즉, 할당이 등호 오른쪽에 있는 개체를 왼쪽 개체에 바인딩하지 않지만 복사가 발생합니다. 따라서 teaData1에 대한 변경 사항은 원래 개체를 변경하지 않습니다.

해결책은 원본 객체를 반환하도록 복사 생성자를 재정의하는 것입니다. 포인터를 사용하는 방법도 있습니다.

Ty80

getTestData를 setTestData로 변경하고 데이터를 사용하여 값을 할당합니다.>second

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!