- 主题:c++ 定义变量语法,这个很少见
class A {
int x;
};
class B {};
int main()
{
A B::* p;//这种定义变量p指针,是什么语法,编译可以通过。
}
--
FROM 123.123.48.*
指向成员的指针
【 在 skysee (风风火火闯九州) 的大作中提到: 】
: class A {
: int x;
: };
: ...................
--
FROM 182.149.109.*
有点不理解,类 B 里没有 A 类对象,p指哪里去了?
【 在 gloop ( ) 的大作中提到: 】
: 指向成员的指针
--
FROM 115.239.231.*
因为这个代码不是实际使用的示例代码。正常使用的话,B里面肯定要有一个A类型的成员。
【 在 easior (潜行) 的大作中提到: 】
: 有点不理解,类 B 里没有 A 类对象,p指哪里去了?
--
FROM 182.149.109.*
这是一个冷门的语法。
A B::* p;
这是声明一个“成员变量指针”。这个指针可以指向B里的A类型成员变量。
【 在 skysee 的大作中提到: 】
: class A {
: int x;
: };
: ...................
--
FROM 76.126.252.*
我都不知道这个指针是不是个肥指针
【 在 here080 的大作中提到: 】
: 这是一个冷门的语法。
:
: A B::* p;
: ....................
- 来自「最水木 for iPhone12,8」
--
FROM 75.31.75.*
啥叫肥指针?
【 在 lambdai 的大作中提到: 】
: 我都不知道这个指针是不是个肥指针
: :
: - 来自「最水木 for iPhone12,8」
--
FROM 76.126.252.*
B里面都没有A类型的成员变量,编译器就不能识别出来吗
【 在 here080 的大作中提到: 】
:
: 这是一个冷门的语法。
:
: A B::* p;
: 这是声明一个“成员变量指针”。这个指针可以指向B里的A类型成员变量。
--
FROM 117.136.65.*
估计没有赋值所以不检查。
不过这样写不更好吗?
B::(A*) p;
【 在 gpmn 的大作中提到: 】
: B里面都没有A类型的成员变量,编译器就不能识别出来吗
: --
发自「今日水木 on MRX-W29」
--
FROM 42.234.92.*
从类名近似于名字空间的理解来说,这样写确实好很多。
【 在 txgx 的大作中提到: 】
: 估计没有赋值所以不检查。
: 不过这样写不更好吗?
: B::(A*) p;
: ...................
--
FROM 222.129.54.*