유형, 변수 또는 네임 스페이스의 새 이름을 만드는 것은 쉽습니다. 하지만 함수에 새 이름을 어떻게 할당합니까? 예를 들어, 내가 이름을 사용하려는 holler
위해 printf
. #define은 분명합니다 ... 다른 방법은 없나요?
해결책 :
#define holler printf
void (*p)() = fn; //function pointer
void (&r)() = fn; //function reference
inline void g(){ f(); }
printf
여기서 엉망이 아닙니다 . 그것은 단지 예일뿐입니다. 여기서 문제는 다른 무엇보다 영어의 한계와 더 관련이 있습니다. 목적 A와 목적 B를 제공하는 단일 기능이 있지만 여기서 두 가지 목적을 모두 제공하는 단일 이름을 찾을 수 없습니다.
T &a = b;
에 대한 새 이름을 만듭니다 b
. typedef
유형 및 namespace A=B;
네임 스페이스에 대해.
using BaseClass::BaseClassMethod
,있다 using AliasType = Type;
, 심지어있다 namespace AliasNamespace = Namespace;
. 우리가 누락 것은using AliasFunction = Function;
void (&NewName)(some_vector&, float, float, float, float) = OldName;
내 옆에 체크합니다.