最终目标是将32位整数转换为bool的STL向量容器。
是否有可能避免迭代数字位?
一种方法是访问原始指针:
void int2bin(int number){
// Initialize the vector
std::vector<bool> container(32);
// Get low level buffer access
void* addr = &container[0];
// Copy number bits to the structure
memcpy(addr, &number, sizeof(int));
}
但是因为vector是STL的特例,我无法访问原始地址而是访问代理引用对象。
有没有办法绕过这个?
显然std::bitset
会这样做,但我没有办法将其转换为std::vector<bool>
而不进行迭代。