算符“.*”和“-*”,用于“成员指针”
生活随笔
收集整理的这篇文章主要介绍了
算符“.*”和“-*”,用于“成员指针”
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
首先有 class 或者 struct 定义,例如:
class CA
{
public:
int m_i0;
private:
int m_i1;
}
于是可以在这样定义“成员指针”:
int CA::* pm = &CA::m_i0;
当定义了 CA 的变量、指针,就可以使用上面两个运算符了,例如:
CA a;
CA * p = &a;
a.*pm = 5;
p->*pm = 6;
当然,在可以看到 m_i1 的地方(比如 CA 的成员函数中),还可以写:
pm = &CA::m_i1;
这样的话,外面用 a.*pm 就可以代替 a.m_i1 了,虽然是 private 的,但外面仍然可以修改。
总结
以上是生活随笔为你收集整理的算符“.*”和“-*”,用于“成员指针”的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 如何用jlink+jflash烧写stm
- 下一篇: Qt中内存泄露和半自动内存管理