2016-09-20 5 views
1

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; 

답변 해 주셔서 감사합니다.

+0

'std :: array'는 기본적으로 고전적인 C 배열을 감싸는 얇은 래퍼입니다. C 배열로 할 수있는 모든 일을 할 수 있으며'std :: vector'로 할 수있는 모든 일은 크기를 변경할 수 없습니다. –

답변

6

std::array은 정적 크기이며 내부 데이터 요소에 대해 유지되는 주소는 안정적입니다 (std::vector과는 달리).

그렇습니다.이 주소는 안전하게 보관하십시오.