C++中的 |, |=,||=分别是什么意思?

如题,另外还有,->这是什么意思?能否给出例子?

| 是指位运算“或”,比如说 1|0 当然是等于1,而0|0 等于0(具体可见真值表)。
a|=b;是指先将a与b进行或运算,再将结果赋给a,比如说a=0,b=1,a|b的结果就是1,将其赋给a,则经过这条语句后a的值为1.
||是逻辑运算“或”,这个或跟高中学的“或”意思就基本一样了。而所有?=(?代表一种运算)运算符,都是指先将等号两边的变量(等号右边可能是常量)进行?运算,再将结果赋给a。
->是成员选择符,下面是我帮你找的一点解释:
成员选择符“.”与“->”的区别主要是操作符前面变量的类型。如果变量是指针型,则操作符为“->”,如果是非指针变量应该使用“.”。
比如说一个类Time,我们分别定义一个此类的指针和对象。
Time *ptime=new Time;
Time time;
如果我们想访问这个类中的一个成员变量m_Hour(假设其为公共的),则两个不同类型的访问为:
ptime->m_Hour;
time.m_Hour;
当然,我们也可以用下面这种方式进行访问:
(*ptime).m_Hour;
希望通过这个例子,你能区分这两种操作符的区别。

说到这里,可能你觉得|,||很难区分,其实不然,看下面这个例子:
当01 | 10 后的结果为11(注意这里是二进制,或运算之类的运算都是对二进制的操作),而 01 || 10 后的结果是1,由于两个数都非零,所以结果当然为“真”。“真”可以用一个非零的数来表示。
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-11-06
LS别以为op=都相当于 = a op b,有些组合可是非法的。
|是按位或,或的含义看离散数学。
|=是异或赋值,即a |= b; 相当于 a = a|b;
||,是逻辑或
||=,非法的一个操作符。
->,举个例子容易说明,a->b相当于(*a).b。->只是后者的等价形式。
第2个回答  2007-11-06
|是位或
|=是取位或后赋值,就好比+=一样
||=是取逻辑或后赋值
跟+=,-=,*=等一样,举一反三就行了。

->是结构指针或类指针访问成员变量。
如struct aa{ int b;};
struct aa *a;
则有写法:a->b 表示a里的b的值
第3个回答  2007-11-06
上面三个C++里边都没有,也不能重载。
下面这个是指针访问。
假如p是指向a的一个指针。那么:
*p的作用和p->一个意思。
第4个回答  2007-11-06
这些一般在嵌入式编程中用的多点

C++中的 |, |=,||=分别是什么意思?
| 是指位运算“或”,比如说 1|0 当然是等于1,而0|0 等于0(具体可见真值表)。a|=b;是指先将a与b进行或运算,再将结果赋给a,比如说a=0,b=1,a|b的结果就是1,将其赋给a,则经过这条语句后a的值为1.||是逻辑运算“或”,这个或跟高中学的“或”意思就基本一样了。而所有?=(?

C++语言,a|b什么意思
在C\/C++中,操作符称为自反运算符(类似的还有+=、*=、\/=、&=、|=等等),由前后两个符号无间隔组合而成;其核心意义由前一个符号确定,完成左边的变量与右边的变量的运算关系,后面的=号是把运算结果赋给左边的目标变量的意思。

c++中的% c表示什么意思
c语言里有很多需要理解的符号,它跟数学符号很有关系,但有些又是区分于数学符号,比如“=”在数学上是等于的意思,所以a=1,我们读作a等于1,可是如果在c语言里,“=”是赋值的意思,a=1是指把1赋值给a,而a==1才读作a等于1。所以我首先要弄清楚基本的运算符号如+,-,\/,*,%,&,!=等的...

c语言中||和|有什么区别?
“,”逗号运算符。[pre]C 语言中,逗号(,)也可以是运算符,称为逗号运算符(Comma Operator)。逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式,称为逗号表达式。其一般形式为:子表达式1, 子表达式2, ..., 子表达式n 例如:a + b, c = b, c++ 逗号运算符的优先级是所有...

C++中的if 语句
=是赋值号,不是等号。if(j=i-1)是令j=i-1,再判断j是否不为0。不为0,则if成立。if(j==i-1)则是判断j是否和i-1相等,相等则if成立。

C++中|和||分别表示什么啊 比如A|B,A||B结果分别是什么啊
| 是按位或,A、B化为二进制,对应位中有1为1.如:00001010 A 00101000 B --- 00101010 A|B ,结果中有1为1。|| 是或,A、B有一个满足条件A||B结果的结果为真。

C++中!=是什么 意思
应该考虑环境,因为“!=”是C、C++、C#和VFP中的逻辑运算符。遇到这种情况,应该看前面字符。因为如是逻辑运算符,C系列必为:if(<变量>!=<变量值>)这种句型;如是VFP,应为:if <变量>!=<变量值>这种句型。“!”也是数学上的阶乘代号,有时也会遇到!=这种情况,但是其前面一定是数字或代表...

C语言中“>>=,<<=,&=,^=,|=”分别表示什么意思?请举例说明
1、C语言中的 >>= 意思为:右移后赋值 代码示例为:x = 8; x >>= 3;右移后结果为:00000000 00000000 00000000 00000001 2、C语言中的 <<= 意思为:左移后赋值 代码示例为:x = 8;x <<= 3;左移后赋值结果为:00000000 00000000 00000000 01000000 3、C语言中的 &= 意思为:按位与...

C++中这段代码中::和:分别是什么意思
::是作用域操作符,这里表示后面的名字FrameworkListener是属于前面的类FrameworkListener的一个成员 :后面是初始化列表,表示初始化类的成员变量

c++中,符号=和&=是什么意思?
c++中符号=和&=是用于赋值操作的位运算符。首先,我们来了解一下右移运算符(>>)。例如,定义一个整型变量i=2,其二进制形式为10。若执行i>>=1操作,则i的值会变为1,即二进制表示为1。右移运算符将操作数的位向右移动指定的位数。在这个例子中,i的二进制形式向右移动了一位,所以最右边的...

相似回答