可以将std :: vector视为数组

时间:2011-12-05 02:53:56

标签: c++ stl vector

可以通过这种方式将std::vector<char>视为数组:

std::vector<char> v(10);
strncpy(&v[0], "hello", 9); // <-- Is this safe?

1 个答案:

答案 0 :(得分:13)

是的,没关系。从C ++ 03开始,vector需要具有连续存储。

从C ++ 11开始,std::string也是如此,顺便提一下;并且您可以说v.data()作为&v[0]的同义词(当v为空时也有效)。