2011-05-24 90 views

回答

5

採取的第一個元素的地址:

char * foo = &my_vec[0]; 
1

要在space_cowboy的回答略有擴大......

你可以這樣做:

std::vector<char> vec; 
vec.push_back('a'); 
vec.push_back('b'); 
vec.push_back('c'); 

char *arr = &vec[0]; 

但是,如果你現在是到做一個push_back ...

vec.push_back('d'); 
arr; // This pointer has been possibly invalidated! 
    // realloc could have been called on vec's memory. 
相關問題