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
'Program Club' 카테고리의 다른 글
| 루비 날짜를 정수로 변환 (0) | 2020.12.15 |
|---|---|
| 잘못된 순방향 참조 및 열거 형 (0) | 2020.12.15 |
| Highcharts 차트 최대 yAxis 값을 설정하는 방법 (0) | 2020.12.15 |
| 헤드리스 모드에서 Chrome을 시작하는 방법은 없나요? (0) | 2020.12.15 |
| Golang에서 os / exec로 시작된 프로세스 종료 (0) | 2020.12.15 |