指向成员变量的指针的正确 'using' 语法
Proper 'using' syntax for pointer-to-member variable
struct MyStruct {
typedef int MyStruct::*Ptr; // my pointer-to-member type
int foo, bar;
};
此代码有效,但我想以现代风格更新它,并将 typedef
替换为 using
。正确的语法是什么?我尝试了很多选择,但我被卡住了;我能找到的唯一示例是指向成员的指针-函数,这是不同的。
using
语法只是移动标识符的位置,一般情况是
typedef ............. foo ..............;
可以改成
using foo = ............. .............;
你的情况也不例外;代码可以是 using Ptr = int MyStruct::*;
using Ptr = int (MyStruct::*);
一般来说,(MyStruct::*)
会出现在 *
出现在非成员指针中的任何地方。
struct MyStruct {
typedef int MyStruct::*Ptr; // my pointer-to-member type
int foo, bar;
};
此代码有效,但我想以现代风格更新它,并将 typedef
替换为 using
。正确的语法是什么?我尝试了很多选择,但我被卡住了;我能找到的唯一示例是指向成员的指针-函数,这是不同的。
using
语法只是移动标识符的位置,一般情况是
typedef ............. foo ..............;
可以改成
using foo = ............. .............;
你的情况也不例外;代码可以是 using Ptr = int MyStruct::*;
using Ptr = int (MyStruct::*);
一般来说,(MyStruct::*)
会出现在 *
出现在非成员指针中的任何地方。