我经常看到这样的情况:
std::vector<Something> vec;
do_something_with_vec(vec);
Something *arr=&vec[0];
do_something_that_needs_carray(arr);
我的意思是,向量可能会在内部使用数组,所以我明白为什么这能起作用,但我想知道这是否是定义良好的行为(换句话说,实现者是否允许使用此方法运行std :: vector的实现)。
如果标准之间存在冲突,我想知道C ++ 11标准是如何规定的。
vector
将使用连续的内存。 - John Dibling