我在C ++ Primer书中找到了以下示例:
#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
这本书声称最后两行代码等同于,为什么这是真的?我认为flip()会改变bitvec变量本身,而按位非运算符(〜)会返回一个新值。