나에게 관심이 내 게시물 중 하나에 대한 코멘트 :컴파일러는 어떤 멤버 함수가 변경되는지 어떻게 결정합니까?
Me too. 또한 접근 자/변형 자에게 같은 이름을 지정합니다. 난 항상 대신 같은 일이라는 뮤 테이터의
setBar(int bar)
을 사용했기 때문에
나는 이것에 대해 궁금 해서요. 내가 알고 싶은 : 컴파일러는 const 식별자를 기반으로 런타임에 변이를 판별 할 수 있습니까? 아니면 매개 변수를 가지고 있기 때문에 동일한 함수 이름을 사용할 수 있습니까?
class Foo
{
int bar_;
public:
int bar() { return bar_; }
void bar(int bar) { bar_ = bar; }
}
을 또는 내가 (난 그냥이 나와 함께 실행, 나는 어쨌든이 일을해야 실현)이 작업을 수행해야합니까 :
이 잘 컴파일
int bar() const { return bar_; }
I 돈을 어느 것이 어떤 것인지 알지 못한다. Const의 정확성은 중요합니다. 그래서 컴파일러가 하나의 변이를 일으키고 하나가 변하기 때문에 과부화에 반대하고 싶습니다.
왜 이런 방식으로 작동합니까?
코드가 잘못되었습니다. int bar()와 같아야합니다. const {return bar_; } 내 생각 엔. 반환 형식은 코드에서 손실됩니다. –
내 전체 게시물을 보니, 아니면 그냥 나를 끌어 내려고하려는거야? = ( – jkeys