int到std :: vector <bool>

时间:2018-03-27 17:04:00

标签: c++ stl stdvector

最终目标是将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>而不进行迭代。

0 个答案:

没有答案