提示:溢出和其他算数运算一场
算数表达式有可能产生未定义的结果。
一部分原因时数学性质本身:例如除数是0的情况
另一部分源于计算机的特性:例如溢出,计算结果超出该类型所能表示的范围
和其他未定义一样,溢出不可预知
%参与对象必须是整数型
C++11 规定全部向下取整
除了-m导致溢出的情况
(-m)/n 和 m/(-n) 都等于 -(m/n)
m%(-n)等于 m%n
(-m)%n等于 -(m%n)
逻辑与和逻辑或运算符
逻辑或和与运算符,仅当左侧结果不能确定表达式结果时,才会算右边对象的值
//遇到空字符串或者以句号结束的字符串进行换行
for (const auto &s : text){
if(s.empty() || s[s.size()-1] == '.')
cout << endl;
逻辑非运算符
关系运算符
关系运算符复合左结合律
//哎呦
//这个条件拿 I <j 的布尔值和k比较
if(i<j<k) // 若k大于1为真!
相等性测试与布尔字面值
进行比较运算时,除非比较的对象是布尔类型,否则不要使用布尔字面值 true 和false比较