我正在从下面的链接查看 STL 的 vector 容器。并且提到,添加到此容器的新成员函数之一(使用 C++11)是 vector::data
,它返回一个指向内部使用的内存数组的指针。
http://www.cplusplus.com/reference/vector/vector/data/
上面链接中给出的示例代码也显示了它的用法,但似乎所有这些都可以使用迭代器来完成。
引入这个成员函数有什么具体原因吗?
最佳答案
我认为引入 data()
函数是为了接口(interface)的完整性和便利性。
这样我们就不需要求助于丑陋的 &vec[0]
或 &vec.front()
。
此外,获取指向底层数据的指针在许多应用程序中都很有用,例如与 C 代码或某些外部库交互,或者在嵌入式上下文中。
关于C++:为什么引入 std::vector::data 成员函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54662602/