我是否正确理解bool
to int
cast 应该 cast true
to 1
?
GCC 4.8.1 对此代码给出了奇怪的结果:
#include <array>
#include <iostream>
int main()
{
using namespace std;
array<bool, 3> bb;
for ( int i = 0; i < 3; i++ ) cout << static_cast<int>( bb[i] ) << endl;
return 0;
}
这是我得到的:
>> g++ -std=c++11 test_bool.cpp -pedantic -O3
>> ./a.out
136
251
160