Program Club

C ++에서 "this"키워드 사용

proclub 2020. 12. 15. 19:31
반응형

C ++에서 "this"키워드 사용


중복 가능성 :
C ++에서 이것을 과도하게 사용하면 코드 냄새가납니다 C ++
에서 "this"키워드를 언제 사용해야합니까?
이것을 사용하는 이유가 있습니까->

C ++에서 키워드는 this일반적으로 생략됩니까? 예를 들면 :

Person::Person(int age) {
    _age = age;
}

반대 :

Person::Person(int age) {
    this->_age = age;
}

예, 필수 사항은 아니며 일반적으로 생략됩니다. 하지만 범위에서 재정의 된 후 변수에 액세스하는 데 필요할 수 있습니다.

Person::Person() {
    int age;
    this->age = 1;
}

또한 이것은 :

Person::Person(int _age) {
    age = _age;
}

꽤 나쁜 스타일입니다. 같은 이름의 이니셜 라이저가 필요한 경우 다음 표기법을 사용하십시오.

Person::Person(int age) : age(age) {}

자세한 정보 : https://en.cppreference.com/w/cpp/language/initializer_list


프로그래머 선호도입니다. 개인적 this으로 객체 멤버를 명시 적으로 표시하기 때문에 사용하는 것을 좋아 합니다. 물론 _똑같은 일을합니다 (컨벤션을 따를 때만)


어느 쪽이든 작동하지만 많은 곳에서 개발자를 한 방향 또는 다른 방향으로 안내하는 코딩 표준이 있습니다. 그러한 정책이 없으면 마음을 따르십시오. 하지만 한 가지는 코드를 사용하면 코드의 가독성을 높이는 데 정말 도움이됩니다. 특히 클래스 수준 변수 이름에 대한 명명 규칙을 따르지 않는 경우.


this 멤버 함수가 참조되는 객체를 가리 키므로 선택 사항입니다.


위의 예에서는 일반적으로 생략됩니다. 그러나 어느 쪽이든 구문 상 정확합니다.


예. 모호하지 않는 한.

또한 가상 함수 호출을 최적화하는 일부 컴파일러를 피하기 위해 때때로 사용됩니다.

참조 URL : https://stackoverflow.com/questions/6779645/use-of-this-keyword-in-c

반응형