【发布时间】:2011-06-02 09:15:53
【问题描述】:
我刚刚意识到我一直在使用std::vector::data() 与std::string 相似,但一位同事指出它不标准。
显然 Gcc 实现了它,但是查看它的包含文件,我发现了这样的评论:
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 464. Suggestion for new member functions in standard containers.
// data access
我的问题是:
- 此方法是否已被其他编译器广泛实施?
- 它是否包含在 C++0x 中?
(我也想知道DR 464 是什么,还有_GLIBCXX_RESOLVE_LIB_DEFECTS 是什么,但我不妨再问一个问题)。
【问题讨论】:
-
昨天那个也打到我了,但显然 &(vector.front()) 会给你和调用 vector.data() 一样的结果,而且是标准的。
-
根据我的标准文档副本,在 c++0x data() == &front() 中用于非空向量。
标签: stl standards-compliance stdvector