次の行を書きました。
std::bitset<4> bitvec; //bitset 0000
std::bitset<4> addition; //bitset 0000
addition.set(0); //setting the least significant bit
std::cout << addition << std::endl; //output 0001
std::cout << std::endl;
for(int x = 0; x != 16; ++x) { //addition loop
std::cout << bitvec << std::endl; //output
bitvec &= addition; //binary AND
}
std::cout << std::endl;
出力は次のようになると予想していました。
0000
0001
0010
0011
0100
0101
....
しかし、ループは「0000」を出力するだけです。欠けている基本的な概念は何ですか?