클래스 메서드는 const
으로 정규화 될 수 있으며,있는 경우 클래스 메서드는 호출 된 인스턴스를 변경하지 못하도록합니다 (mutable
무시). 멤버 함수가 독립적으로 동작하는 것처럼 생각할 수 있지만 const
메서드의 경우 const MyClass*
이고 그렇지 않은 경우 ptr 인 첫 번째 매개 변수로 this
포인터를 얻는 것처럼 생각할 수 있습니다.멤버 함수 한정자 (const 제외)의 의미는 무엇입니까?
나는 최근에이 멤버 함수 (참조, 예를 들어 this question 사이트에)에 실제로 추가 할 수 한정자, 그래서 예선이라는 것을 인식하게했습니다
const
또는 const가 아닌volatile
비 volatie- 참조되지 않은 일정한 기준 (
&
) r- 수치 또는 참조 (&&
)
약 volatile
, 나는 그것이 변수에 대해 무엇을 의미하는지 알고 있습니다. 레지스터 또는 어쩌면 일부 비 응집성 캐시에 있음) 다른 코드가 원래 위치를 변경하는 것처럼 유효 할 것으로 기대하십시오. 이것은 const
수정 자와 같이 "this
포인터 은유"에 매우 명확하게 적용되지 않습니다. 포인터이기 때문에 다른 사람이 지적 데이터를 변경할 수 있습니다. a __restrict__
qualifier on this
같은 것을 더 잘 이해할 수 있습니다. 그래서, volatile
내가 그것을 추측하고 있거나 내가 잘못 해석하고있는 것은 무엇입니까?
이제 회원들을위한 참조 한정자에 관해서 - 나는 우둔합니다. 그게 무슨 뜻일까요? 무엇에 대한 참조일까요? 나는 그것을 얻지 않는다.
구성원 함수에 대한 참조 한정자는 [here] (http://stackoverflow.com/a/8610728/1460794)를 참조하십시오. – wally
이 질문은 약간 넓습니다. 서로 다른 한정어에 대해 별도의 질문을 게시하는 것이 좋습니다. – wally
@Muscampester : 나는 실제로 우리를 위해 모든 것을 바로 잡는 하나의 설명이 있기를 바랬습니다. – einpoklum