C에서 "super" 사용
소개
C에서 기본 클래스에 "super"로 액세스할 수 있도록 하는 "typedef super" 관용구가 일반적인 관행이 되었습니다. 특히 숙련된 프로그래머들 사이에서 이 관용구에는 기본 클래스를 참조하는 파생 클래스 내에 typedef를 만드는 것이 포함됩니다. 작동 방식과 제공되는 이점에 대한 간략한 설명은 다음과 같습니다.
작동 방식
다음 코드는 "typedef super" 관용어를 보여줍니다.
class Derived : public Base { typedef Base super; // Creates an alias for Base
이 typedef를 사용하면 "super" 별칭을 사용하여 다음과 같은 다양한 시나리오에서 기본 클래스에 액세스할 수 있습니다. 생성자:
Derived(int i, int j) : super(i), J(j) {}
또는 재정의된 버전 내에서 기본 클래스의 메서드를 호출할 때:
void Derived::foo() { super::foo(); // Calls the overridden version of foo in Derived }
이 관용어는 연결에 사용되어 기본 클래스에 대한 액세스를 허용할 수 있습니다. class:
class DerivedDerived : public Derived { typedef Derived super; // Creates an alias for Derived
void DerivedDerived::bar() { super::bar(); // Calls Derived::bar super::super::bar; // Calls Base::bar }
이점
"typedef super" 관용구는 여러 가지 이점을 제공합니다.
공통성과 표준화
"typedef super" 관용구가 상당히 일반화되었지만 여전히 C에서는 비표준 기능으로 간주됩니다. 그러나 답변에 언급된 논의는 해당 개념이 처음에 언어에 포함되도록 고려되었음을 시사합니다.
결론
"typedef super" 관용구는 유용한 기술입니다. C 프로그램 내에서 코드 가독성과 일관성을 향상시킵니다. 이는 널리 사용되며 프로그래머가 다른 언어에서 발견되는 "super" 키워드의 기능을 에뮬레이션하기 위해 구현했습니다. 표준화되지는 않았지만 이 관용구는 숙련된 C 개발자에게 여전히 귀중한 도구입니다.
위 내용은 C에서 'typedef super' 관용어가 왜 그렇게 자주 사용됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!