"==在c++"中是什么意思? 5
“==”运算符,属于二元运算符的相关和相等运算符(Relational and equality operators)
等于 (==) 和不等于 (!=),与关系运算符相比,优先级较低,但是其行为类似。
这两个运算符的结果类型是 bool。
如果两个操作数具有相同的值,返回 true,否则返回false;不等于运算符 (!=)与它相反
示例
// expre_Equality_Operators.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
int main() {
cout << boolalpha
<< "The true expression 3 != 2 yields: "
<< (3 != 2) << endl
<< "The false expression 20 == 10 yields: "
<< (20 == 10) << endl;
}
相等运算符可以与同一类型的成员比较指针。
在这种比较,指向成员的指针转换,如 指向成员的指针转换 所述执行。
指向成员的指针也可以使用计算为 0 的常数表达式进行比较。
===========================================
其它运算符还有
间接寻址运算符 (*)
address-of 运算符 ( )
一元加号运算符 (+)
一元求反运算 (-)
逻辑求反运算符 (!)
求补运算符 (~)
递增运算符 (++)
减量运算符 (--)
转换运算符 ()
sizeof 运算符
__uuidof 运算符
__alignof 运算符
new 运算符
删除运算符
使用运算符
乘法 (*)
除法 (/)
modulo (%)
附加运算符
加号 (+)
减号 (-)
偏移运算符
右移 (AMP_GTAMP_GT)
左移 (AMP_LTAMP_LT)
相关和相等运算符
小于号 (<)
大于号 (>)
小于或等于 (<=)
大于或等于 (>=)
等号 (==)
不等于 (!=)
位运算符
按位与 ( )
按位 " 异或 " (^)
包含按位或 (|)
逻辑运算符
逻辑与 ( )
逻辑或 (||)
赋值运算符
分配 (=)
添加分配 (+=)
减法赋值 (– =)
乘法赋值 (*=)
除法赋值 (/=)
取模赋值 (%=)
左移赋值 (AMP_LTAMP_LT=)
右移赋值 (AMP_GTAMP_GT=)
按位与分配 ( =)
按位 " 异或 " 赋值 (^=)
包含按位或分配 (|=)
逗号运算符 (,)
首先,==在C++中是一个预处理记号(preprocessing-token),子类别是preprocessing-op-or-punc;经过预处理后,==是一个记号(token),具体是其中的标点(punctuator)。
语法:
语法分析在不同的上下文中会把它作为用于求值的相等表达式(equality-expression)或用于重载的操作符(operator)(跟在关键字“operator”之后时)处理。
==是一个二元操作符,组成形如a == b的相等表达式。
语义:
若表达式 a 和 b 的值能转换为适当的基本类型,a == b的求值为内建==求值,只进行表达式的计算,除了子表达式的求值外不产生新的副作用;表达式a == b的值是判断两个操作数a 和 b相等的结果:值的类型为bool,若相等为true,不相等为false。
非内建情形调用重载的operator==,可能有副作用。非内建的函数operator==一般应和内建==的语义类似,但语言及其实现不提供保证。可以定义一个类然后以这个类作为参数类型重载==让不等返回true,相等返回false,或者根本不是bool类型,也不会产生错误,但容易误导读者。
参考资料: 原创
==是判断 返回bool类型
2012-02-28