草庐IT

pseudo-typedef

全部标签

c++ - 将 'override' 用于已使用 'typedef' 声明的函数

C++11为函数引入了'override'说明符,我发现它很有用,因为它明确表明要覆盖虚函数。但是,我似乎无法让它适用于使用typedef声明的函数。我知道“覆盖”不是关键字,它与此有关吗?以下代码说明了我的观点:#includetypedefcharReturnsChar();classBasic{public:virtualcharget_a();virtualReturnsCharget_z;};charBasic::get_a(){return'a';}charBasic::get_z(){return'z';}classCapitalized:publicBasic{publ

c++ - 将 'override' 用于已使用 'typedef' 声明的函数

C++11为函数引入了'override'说明符,我发现它很有用,因为它明确表明要覆盖虚函数。但是,我似乎无法让它适用于使用typedef声明的函数。我知道“覆盖”不是关键字,它与此有关吗?以下代码说明了我的观点:#includetypedefcharReturnsChar();classBasic{public:virtualcharget_a();virtualReturnsCharget_z;};charBasic::get_a(){return'a';}charBasic::get_z(){return'z';}classCapitalized:publicBasic{publ

c++ - 如何定义具有模板参数的函数指针的typedef

我想为以STL容器作为参数且该容器具有未知类型的函数指针创建typedef。像这样的:typedefvoid(*TouchCallBack)(GLRenderer*,constMotionEvent&,std::vector);有可能吗?(尤其是在c++03中) 最佳答案 我不知道任何C++03解决方案与此完全一样,而且它没有内置在语言中,但在C++11中,使用using别名可以做到这一点:templateusingTouchCallBack=void(*)(GLRenderer*,constMotionEvent&,std::ve

c++ - 如何定义具有模板参数的函数指针的typedef

我想为以STL容器作为参数且该容器具有未知类型的函数指针创建typedef。像这样的:typedefvoid(*TouchCallBack)(GLRenderer*,constMotionEvent&,std::vector);有可能吗?(尤其是在c++03中) 最佳答案 我不知道任何C++03解决方案与此完全一样,而且它没有内置在语言中,但在C++11中,使用using别名可以做到这一点:templateusingTouchCallBack=void(*)(GLRenderer*,constMotionEvent&,std::ve

c++ - 基本 typedef 操作数语法

给定:typedeftype-declarationsynonym;我可以看到:typedeflongunsignedintsize_t;将size_t声明为longunsignedint的同义词,但是我(知道但)看不到确切的原因:typedefint(*F)(size_t,size_t);将F声明为pointertofunction(size_t,size_t)返回int的同义词typedef的两个操作数(type-declaration,synonym)在第一个例子中是longunsignedint和size_t。F的声明中typedef的两个参数是什么,或者可能有typedef的

c++ - 基本 typedef 操作数语法

给定:typedeftype-declarationsynonym;我可以看到:typedeflongunsignedintsize_t;将size_t声明为longunsignedint的同义词,但是我(知道但)看不到确切的原因:typedefint(*F)(size_t,size_t);将F声明为pointertofunction(size_t,size_t)返回int的同义词typedef的两个操作数(type-declaration,synonym)在第一个例子中是longunsignedint和size_t。F的声明中typedef的两个参数是什么,或者可能有typedef的

c++ - wchar_t 只是 unsigned short 的 typedef 吗?

例如,做:wchar_tx;翻译成:unsignedshortx; 最佳答案 简而言之:在C中可能在C++中没有。广泛。C将wchar_t定义为typedef,但在Unix中它通常为4个字节(因此通常不短),而在Windows2中则可能很短。在C++下,它是唯一的内置类型,如char或int,因此您可以合法地重载voidfoo(shortx)和voidfoo(wchar_tx) 关于c++-wchar_t只是unsignedshort的typedef吗?,我们在StackOverflow

c++ - wchar_t 只是 unsigned short 的 typedef 吗?

例如,做:wchar_tx;翻译成:unsignedshortx; 最佳答案 简而言之:在C中可能在C++中没有。广泛。C将wchar_t定义为typedef,但在Unix中它通常为4个字节(因此通常不短),而在Windows2中则可能很短。在C++下,它是唯一的内置类型,如char或int,因此您可以合法地重载voidfoo(shortx)和voidfoo(wchar_tx) 关于c++-wchar_t只是unsignedshort的typedef吗?,我们在StackOverflow

c++ - 'typedef' 是否在 C++ 类中自动继承?

我曾经相信'typedef'不会自动继承。但是下面的代码快照暗示了一些不同的东西。#include#includestructA{typedefintX;};structA_{typedefcharX;};structB:A{};structB_:A,A_{};templateusingvoid_t=void;templatestructhas_typedef_X:std::false_type{};templatestructhas_typedef_X>:std::true_type{};intmain(){std::cout::value::value::value::value输

c++ - 'typedef' 是否在 C++ 类中自动继承?

我曾经相信'typedef'不会自动继承。但是下面的代码快照暗示了一些不同的东西。#include#includestructA{typedefintX;};structA_{typedefcharX;};structB:A{};structB_:A,A_{};templateusingvoid_t=void;templatestructhas_typedef_X:std::false_type{};templatestructhas_typedef_X>:std::true_type{};intmain(){std::cout::value::value::value::value输