Правильный синтаксис использования для указателя на член переменной - PullRequest
0 голосов
/ 13 ноября 2018
  struct MyStruct {
    typedef int MyStruct::*Ptr;  // my pointer-to-member type
    int foo, bar;
  };

Этот код работает, но я бы хотел привести его в соответствие с современным стилем и заменить typedef на using.Какой правильный синтаксис использовать?Я пробовал кучу вариантов, и я застрял;Единственные примеры, которые я могу найти, относятся к указателю на член- функция , которая отличается.

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018
using Ptr = int (MyStruct::*);

И вообще, (MyStruct::*) будет появляться везде, где * появляется в указателях, не являющихся членами.

0 голосов
/ 13 ноября 2018

Синтаксис using просто перемещает размещение идентификатора, в общем случае

typedef ............. foo ..............;

можно изменить на

using foo = .............  .............;

Ваш случай не является исключением;код может быть using Ptr = int MyStruct::*;

...