算符“.*”和“-*”,用于“成员指针”
生活随笔
收集整理的這篇文章主要介紹了
算符“.*”和“-*”,用于“成员指针”
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先有 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中内存泄露和半自动内存管理