C++ 成员运算访问符
来源:互联网 发布:c语言播放mp3 编辑:程序博客网 时间:2024/05/16 09:11
点运算符和箭头运算符都可以用于访问成员,其中,点运算符获取类对象的一个成员;箭头运算符与点运算符有关,表达式ptr -> men 等价于(*ptr).men:
eg:string s1 = "a string",*p = &s1;
auto n = s1.size(); //运行string对象 s1 的size 成员
n = (*p).szie(); //运行p所指对象的size成员
n = p->size(); //等价于(*p).size()
因为解引用运算符的优先级低于点运算符,所以,执行解引用运算的子表达式两端必须加上括号。如果没有加上括号,代码的含义就大不相同了:
// 运行 p 的 size 成员,然后解引用size 的结果
*p.size(); //错误:p 是一个指针,它没有名为size的成员
这条表达式试图访问对象p的size成员,但是p本身是一个指针且不包含任何成员,所以上述语句无法通过编译。
箭头运算符作用于一个错误指针类型的运算对象,结果是一个左值。点运算符分成两种情况:如果成员所属的对象是左值,那么结果是左值;反之,如果成员所属的对象时右值,那么结果是右值。
0 0
- 成员访问运算符
- 成员访问运算符
- C++ 成员运算访问符
- 成员访问运算符:(*)and(->)
- C++ 类成员访问运算符 -> 重载
- 第四章 4.6 成员访问运算符
- [C]成员运算符"."和间接成员运算符"->"浅析
- c++:成员指针运算符 .* 和 ->*
- 成员指针访问运算符号
- (23)成员访问运算符、条件运算符、逗号运算符
- C++学习笔记(十一):成员访问运算符(点运算和箭头运算)
- C/C++中结构成员运算符(.)和间接成员运算符(->)的运用
- 【C++】成员函数重载二元和一元运算符
- C++:private成员的访问
- C++ Primer笔记12_运算符重载_递增递减运算符_成员访问运算符
- 成员指针运算符
- 选择运算符成员
- C++ 成员运算符
- WindowsHookApi实例
- Java Thread.interrupt 害人! 中断JAVA线程(zz)
- Kali Linux 安装完成后的网络配置
- 传球游戏
- 杭电 2512 一卡通大冒险
- C++ 成员运算访问符
- C++11编译出现/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ./a.out)
- 聊聊并发——生产者消费者模式
- Hook api! 如何拦截系统api, 让它做你想做的事!
- LeetCode——LRU Cache
- Launcher与普通Activity的区别
- 九度1019
- uva_644暴力加字典树解法
- VMware error ubuntu13.04 upgrade 14.04