Безопасно ли получить доступ к данным std::array по адресу?
Я хотел бы использовать побитовое преобразование данных для объектов std::array, и для этого мне нужно знать, безопасно ли хранить адрес массива или есть функция, которая изменяет местоположение данных. Например:
std::array<int, 100> array;
int* startMarker = array.data();
(filing the array and doing operations on it)
std::cout << *startMarker << std::endl;
Спасибо за ответы.
1 ответ
Решение
std::array
имеет статический размер, а адреса, хранящиеся для внутренних элементов данных, стабильны (в отличие от std::vector
).
Так что да, безопасно хранить эти адреса.