首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >给定下面的片段,如何确认v[0]在VS2010中解析<vector>头文件的类型?

给定下面的片段,如何确认v[0]在VS2010中解析<vector>头文件的类型?
EN

Stack Overflow用户
提问于 2013-05-27 00:18:26
回答 2查看 54关注 0票数 0

给定下面的代码,如何确认v[0]的类型是const int&,并遍历头文件?

代码语言:javascript
复制
#include <vector>

int main()
{
    const std::vector<int> v(1);
    decltype(v[0]) b = 1;
}

举个例子,这就是我在VS2010中试图做的:

  1. 在上面的vector上使用鼠标,我用鼠标右键单击,并选择了Go to definition并找到了 template >类向量: public _Vector_val<_Ty,_Ax> {}
  2. 然后我搜索了operator[]并找到了const_reference operator[](size_type _Pos) const
  3. 再次使用鼠标在const-reference上单击鼠标右键,选择Go to definition并找到typedef typename _Alloc::const_reference const_reference;

我不知道从现在开始该往哪里走。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-27 00:52:29

您真的不应该使用实现来获取这样的信息。打字机的链子可以很长。相反,请参考反映标准中信息的语言标准或cppreference.com。在std::vector的情况下,const_reference被定义为引用value_type类型的常量,它是T类型(或MS实现的_Ty )。

*.Prior to C++11它被声明为对Allocator::reference类型常量的引用

票数 3
EN

Stack Overflow用户

发布于 2013-05-28 20:08:40

使用特征和static_assert。std::is_same可以直接告诉您它是否是const &或者不是。对于其他情况,您可以使用is_reference或其他查询。static_assert是由intellisense计算的,因此您甚至可以在不编译的情况下获得结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16764909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档