首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++等价于Arraylist.get(索引)

C++等价于Arraylist.get(索引)
EN

Stack Overflow用户
提问于 2015-04-26 09:23:07
回答 2查看 2.2K关注 0票数 0

出于兴趣,我一直想学习C++,我想看看是否可以翻译我编写的一些java代码来解决一些euler项目问题(我已经学习了一段时间,所以我想看看我记得什么)。但是后来我看到了这个java代码:

代码语言:javascript
复制
while (x != 0) {
        if(x%10 != 0) {
            digits.add(x%10);
        }
        x /= 10;
    }

我翻译成:

代码语言:javascript
复制
std::vector<int> v;
while(x != 0){
    v.push_back(x%10);
    x /= 10;
}

借助互联网的帮助。现在的问题是,我如何从这个“列表”中得到一个特定的值。在Java中,我可以做digits.get(索引),如何在c++中做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-26 09:25:08

您使用operator[](std::size_t),就像使用普通数组一样:

代码语言:javascript
复制
int n = v[index];

请注意,这将执行无边界检查。如果要进行边界检查访问,请使用at()成员函数:

代码语言:javascript
复制
int n = v.at(index);

后者抛出一个std::out_of_range异常,用于越界访问。

票数 3
EN

Stack Overflow用户

发布于 2015-04-26 09:25:38

您还可以使用V.at(指数);从向量中获取元素。

还请注意,v[index]没有范围检查,但是v.at(index)将抛出超出范围的range_error异常。

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

https://stackoverflow.com/questions/29875858

复制
相关文章

相似问题

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