在c++语言中,^是什么意思

 我来答
溪风水月
2013-04-14 · 超过17用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:37.7万
展开全部
托管扩展的一个最大的问题是对指针的使用。指针被用于各种各样的任务,而其情况也是复杂多变的,因而非常难以理解。在某一特定的代码段中要解读自己在和哪一种指针打交道需要有一定程度的天赋。这种复杂性在下一个版本中会被去掉。在Visual C++ 2005中,指针还是原原本本的C++指针。它们指向稳定的对象,而您则可以用指针进行算术操作。指向对象的指针的生命周期必须由开发人员显式管理。当使用指针时,运行库不会负责对指针带来的垃圾进行清理。

现在让我们看一下Visual C++ 2005的设计人员是如何解决这一问题的。与Visual Studio .NET 2003和Visual Studio 2005中使用new运算符返回指针不同,gcnew运算符返回一个“句柄”这是一种新构造,在语法中用“^”符号来表示。该句柄引用托管堆中的整个对象。也就是说,它们不能用来指向类型的内部,而编译器对它们的使用有许多限制,以此来强制执行这种行为,而这也可以帮助开发人员正确并安全地使用句柄。句柄不允许进行指针算术运算,也不可以被强制转换为空指针或是任何整数类型。然而,星号和箭头运算符仍被用来取消对它的引用。

这并不意味着您不能再获得一个指向垃圾回收堆上的指针。与在C#中组合&运算符与固定的关键字相似,在Visual C++ 2005中,pin_ptr抽象类型允许您检索指向托管堆上对象的钉住指针。只要这个指针存在,托管堆中的对象就会被钉住,这可以防止垃圾回收器在回收的过程中移动它。Visual C++ 2005还引入了跟踪引用运算符,用百分号(%)来表示。当在C++中引入本机的&引用运算符时,大多数开发人员都知道可以把它理解成一个指向对象的指针,在使用时是由编译器来自动清除的。在大多数情况下,%对^而言就像&对*一样。
欧洲在哪
推荐于2017-10-08 · 超过16用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:35.3万
展开全部
就是异或运算。
异或运算法则
1. a ^ a = 0
2. a ^ b = b ^ a
3. a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;
4. d = a ^ b ^ c 可以推出 a = d ^ b ^ c.
5. a ^ b ^ a = b.
6.若x是二进制数0101,y是二进制数1011
则x^y=1110
只有在两个比较的位不同时其结果是1,否则结果为0
即“相同为0,不同为1”!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
每周坚持阅读一本书
2013-04-14 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:283
采纳率:0%
帮助的人:67.3万
展开全部
是异或,相同位0,不同为一,相对的事同或,相同位1,不同位0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a22562091
2013-04-14 · TA获得超过211个赞
知道答主
回答量:52
采纳率:0%
帮助的人:17.1万
展开全部
这个不清楚。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
似米产开禅色0g
2013-04-14 · 超过16用户采纳过TA的回答
知道答主
回答量:54
采纳率:100%
帮助的人:43.5万
展开全部
按位异或运算符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式