가정하자 나는 다음과 같은 클래스가 있습니다 나중에 나는이 다음이것이 정의 되었습니까?
struct A{
void method(A& otherA) const{
/* Mutate otherA */
}
};
그리고이 : 나는 method
이 this
인스턴스를 변경하지 않습니다 컴파일러를 말한
A myA;
myA.method(myA);
을하지만, 컴파일러는 것을 깨닫게 않습니다 매개 변수로 this
인스턴스를 전달할 수 있습니까?
내가 이것을 해칠 수 있습니까? 이것은 정의 된 행동입니까?
네, 할 수 있습니다. 컴파일러는 그들이 동일한 인스턴스인지 여부를 알 수 없습니다. 전달 된 매개 변수를 변경하지 않으려면 매개 변수 유형을'const'로 지정해야합니다. – songyuanyao
@songyuanyao 아니 ....하지만 그걸 바꾸고 싶다. – DarthRubik
그러면 괜찮을거야. 전달 된 인수를 통해 변경할 수 있습니다. – songyuanyao