第四章 表达式
来源:互联网 发布:如何在淘宝上申请退款 编辑:程序博客网 时间:2024/05/16 02:42
左值,用的是对象的身份(内存中的位置),右值,用的是对象的值
解引用生成左值,取地址生成一个右值
bool b = true;
bool c = -b; //c为true,因为bool值在计算的时候被转换成整型号int,所以b被转换成-1,不为0,所以赋值给c的时候,为True
int b;
while ( b = get_value() != 3 ){ //说明“=”赋值运算符优先级较低,会先进行逻辑运算
cout << "bingo " << b << endl;
}
赋值语句之后,返回的是左值,本身不是逻辑表达式,加了括号也一样
后自增 > 前自增 > 解引用(优先级比较)
sizeof使用时,引用大小为引用对象大小,指针解引用,为所指对象所占空间大小
sizeof(short) = 2 ; sizeof(int) = sizeof(long) = 4; //本系统中的情况,具体需要是机器而定
此处需要了解指向数组的指针,b的类型实质为 int (*) [5]
常量整数值0或字面值nullptr能转换成任意类型指针;指向任意非常量指针能转换成void *;任意对象指针能转换成const void *;
4.11类型转换(const、static、dynamic、reinterpret)
任何具有明确定义的类型转换,只要不包含底层const,都可以使用static_cast(用于将大类型转成小类型,表示用户不在乎记录丢失)
const_cast只能改变运算对象的底层const属性,不能改变类型,常用于有函数重载的上下文中
const char * cp;
const_cast<string>(cp); // 错误,只能提供const转换,不能提供类型转换
reinterpret_cast为运算对象的位模式提供较低层次的重新解释
int *ip;
char * pc = reinterpret_cast<char *>(ip); // 编译没有问题,但是执行报错
建议,尽量避免使用强转!!!
dynamic_cast和继承和运行时类型识别一起使用
区别“~”与“!”,一个是位运算求反,一个是逻辑运算求非!
0 0
- 第四章。指针表达式。
- 第四章 学习 表达式
- 第四章 表达式
- 第四章 表达式
- 第四章表达式
- 第四章 表达式
- 第四章 表达式
- 第四章表达式
- 第四章 表达式
- 第四章 表达式
- C++ primer | 第四章 表达式
- c++primer第四章 表达式
- C++ Primer 第四章 表达式
- C++ Primer 第四章 表达式
- C++ Primier读后感 之 第四章 表达式
- 《C现代方法》第四章:表达式
- 第四章 运算符、表达式和语句
- 第四章 运算符、表达式和语句
- java实现单线程客户端与服务器端一问一答方式对话
- 设计模式之状态模式(c++)
- Android性能优化典范
- DataGridView 列中添加进度条
- Java bad verson 错误
- 第四章 表达式
- Baidu Push SDK - 百度云推送
- Code[vs]1014 装箱问题
- 第五章 语句
- proe二次开发vb模式创建参数示例
- 【转载】java中的匿名内部类总结
- Machine Learning Method In eBay Bot Detection
- 怎么创建一个没有文件名的文件?即怎么创建.htaccess以及服务器配置文件的窥探
- 使用VLC发送TS流与播放TS流