通过地址访问 std::array 数据是否安全?
Is it safe to access std::array data by address?
我想在 std::array 对象上使用按位数据转换,为此我需要知道存储数组地址是否安全,或者是否有更改数据位置的函数.例如:
std::array<int, 100> array;
int* startMarker = array.data();
(filing the array and doing operations on it)
std::cout << *startMarker << std::endl;
感谢您的回答。
std::array
是静态大小并且为内部数据元素保留的地址是稳定的(与 std::vector
不同)。
所以是的,保留这些地址是安全的。
我想在 std::array 对象上使用按位数据转换,为此我需要知道存储数组地址是否安全,或者是否有更改数据位置的函数.例如:
std::array<int, 100> array;
int* startMarker = array.data();
(filing the array and doing operations on it)
std::cout << *startMarker << std::endl;
感谢您的回答。
std::array
是静态大小并且为内部数据元素保留的地址是稳定的(与 std::vector
不同)。
所以是的,保留这些地址是安全的。