C++11 位集操作:flip()与按位not(~)运算符 我在C++入门书中找到了以下例子: #include <iostream> #include <bitset> std::bitset<32> bitvec(1U); bitvec[0].flip(); // flip the value of the bit at position 0 ~bitvec[0]; // equivalent operation; flips the bit at position 0 #包括 #包括 标准:位集位向量(1U); bitvec[0]。翻转();//在位置0处翻转位的值 ~bitvec[0];//等效操作;在位置0处翻转钻头

C++11 位集操作:flip()与按位not(~)运算符 我在C++入门书中找到了以下例子: #include <iostream> #include <bitset> std::bitset<32> bitvec(1U); bitvec[0].flip(); // flip the value of the bit at position 0 ~bitvec[0]; // equivalent operation; flips the bit at position 0 #包括 #包括 标准:位集位向量(1U); bitvec[0]。翻转();//在位置0处翻转位的值 ~bitvec[0];//等效操作;在位置0处翻转钻头,c++11,bitwise-operators,bitset,C++11,Bitwise Operators,Bitset,这本书声称最后两行代码是等价的,为什么这是真的?我认为flip()会改变bitvec变量本身,而按位not运算符(~)会返回一个新值 这似乎是书中的一个错误.flip()是一种变异操作~是一个非变异操作。这似乎是书中的一个错误.flip()是一种变异操作~是一种非变异操作。

这本书声称最后两行代码是等价的,为什么这是真的?我认为flip()会改变bitvec变量本身,而按位not运算符(~)会返回一个新值

这似乎是书中的一个错误
.flip()
是一种变异操作<代码>~是一个非变异操作。这似乎是书中的一个错误
.flip()
是一种变异操作<代码>~是一种非变异操作。