如何解决我可以使用“using”而不是“typedef”作为指向类成员变量的指针吗?
#include <iostream>
using namespace std;
struct Pos {
int x;
float y;
};
typedef int Pos::* pointer_to_pos_x;
//using pointer_to_pos_x = ???;
int main()
{
Pos pos;
pointer_to_pos_x a = &Pos::x;
pos.*a = 100;
cout << pos.x << endl;
}
在这种情况下,我可以使用 using
代替 typedef
吗?
我在网上查了一些资料:有人说using
可以代替typedef
,但是这个怎么代替呢? (任何文档或博客也会有所帮助。)
解决方法
就这样:
using pointer_to_pos_x = int Pos::*;
几乎所有 typedef XXX aaa;
的情况都可以轻松转换为 using aaa = XXX;
。您可能还会发现此问答很有用:What is the difference between 'typedef' and 'using' in C++11?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。