我从下面的链接看着STL的矢量容器。并且提到了向该容器添加(使用C ++ 11)的新成员函数之一是vector::data
,它返回指向内部使用的内存数组的指针。
http://www.cplusplus.com/reference/vector/vector/data/
上面链接中给出的示例代码也显示了它的用法,但似乎所有这些都可以用迭代器完成。
引入这个成员函数有什么具体原因吗?
我认为data()
功能是为了完整的界面和方便而引入的。
这样我们就不需要诉诸&vec[0]
或&vec.front()
的丑陋。
此外,获取指向底层数据的指针在许多应用程序中很有用,例如与C代码或某些外部库接口,或者在嵌入式上下文中。
来自评论:
有可能失败: