问题标签 [pointer-to-member]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
26098 浏览

c++ - C++ 中的指针成员 ->* 和 .* 运算符是什么?

是的,我已经看过这个问题这个常见问题解答,但我仍然不明白C++ 中的含义->*.*含义。
这些页面提供了有关运算符的信息(例如重载),但似乎没有很好地解释它们什么。

->*C++ 中的and是什么,与 and 相比,什么.*时候需要使用它们?->.

0 投票
5 回答
3529 浏览

c++ - Crazy C++ 模板 - 访问类的各个属性的模板

我是一名新手 C++ 程序员,但我认为我对 C++ 的了解已经足够多,直到今天我在工作中遇到这样的代码并且无法理解它实际上是如何工作的。

我想我理解的程度很高。但是PropType PropObject::* Prop模板声明中的这一点让我很困扰。这是什么意思?我正在寻找 C++ 专家的解释。我想了解它,以便更好地使用它。虽然它看起来非常有用。

0 投票
5 回答
151 浏览

c++ - 从结构内调用指针到成员函数所指向的函数

我有一个Test具有特殊数据结构的类。类的成员Test是 a std::map,其中键是 a std::string,映射值 astruct定义如下:

地图初始化没问题。问题是当我试图调用指向的函数时。我制作了一个重现问题的玩具示例。这里是:

提前致谢, 吉尔

0 投票
1 回答
306 浏览

c++ - Ptr-to-member 模板参数的 Friend 语法

好的,所以我相信这是一个纯 C++ 肮脏的语法问题。

我有一个使用 ptr-to-member 定义的类作为其模板参数之一:

我有另一个简单的类是这个类的朋友。通常,我会写:

...但是,因为第二个模板参数不是那么自由...我该如何陈述友谊?

谢谢!

0 投票
5 回答
463 浏览

c++ - 从指向成员的指针中恢复父级

假设我们有一个指向类成员的指针,指向类的一个字段。在类的特定实例中,我们还有一个指向该特定字段的指针。例如,我们可能有这样的事情:

有没有办法使用ptrmemPtr恢复myA?也就是说,如果我们还没有明确的指针,我们可以用andmyA来做一个吗?ptrmemPtr

0 投票
3 回答
557 浏览

c++ - 指向成员变量的多态指针

我正在尝试以多态方式使用指向成员变量的指针。

这有效:

这不是,因为成员不是同一类型(BaseClass):

g++报错是:

有没有办法使这项工作,即将成员指针“向上转换”到它的基类?

0 投票
2 回答
24197 浏览

c++ - 带括号的成员函数的地址错误

我发现了一些有趣的东西。错误消息说明了一切。在获取非静态成员函数的地址时不允许括号的原因是什么?我在 gcc 4.3.4 上编译它。

错误:main.cpp:14:错误:ISO C++ 禁止使用不合格或带括号的非静态成员函数的地址来形成指向成员函数的指针。说'&myfoo::foo'

0 投票
2 回答
2015 浏览

c++ - 成员函数指针的奇怪 C++ 规则?

可能重复:
带括号的成员函数的地址错误

最近的这个问题中,OP 遇到了 C++ 语言的一个奇怪规定,如果该成员函数名称带有括号,则获取成员函数的地址是非法的。例如,此代码是非法的:

我查了一下,发现这是由于 C++ ISO 规范的 §5.3.1/3 造成的,它的内容如下

仅当使用显式 & 并且其操作数是未包含在括号中的限定 ID 时,才会形成指向成员的指针 [...]

有谁知道为什么规范有这个规则?它特定于指向成员的指针,所以我怀疑这解决了一些语法歧义,但老实说,我一点也不知道它可能是什么。

0 投票
3 回答
999 浏览

c - 为结构成员赋值而不使用c中的成员名称?

我有一个结构,我想做的是使用 for 循环为其成员分配值。这样我就不必使用成员名称。因为结构很长,我不想要 20 行p_struct->member_name等。到目前为止我所拥有的如下,但我不确定我是否朝着正确的方向前进。
在头文件中:

在 .c 文件中...

0 投票
2 回答
1089 浏览

c++ - 使用指向成员的指针将向量转换为映射?

我无法理解为什么下面的代码

给出这个错误:

上下文不允许消除重载函数的歧义

我该如何解决?