java - C++ 等效于 Arraylist.get(index)

标签 java c++ vector arraylist

出于兴趣,我一直想学习 C++,首先我想看看我是否可以翻译我为解决一些项目欧拉问题而编写的一些 Java 代码(我前一阵子参加了一个类(class),所以我想看看我记得什么)。但后来我遇到了这个 java 代码:

while (x != 0) {
        if(x%10 != 0) {
            digits.add(x%10);
        }
        x /= 10;
    }

我翻译成:

std::vector<int> v;
while(x != 0){
    v.push_back(x%10);
    x /= 10;
}

借助互联网。 现在的问题是,如何从这个“列表”中获取某个值。在 Java 中我可以做 digits.get(index),在 C++ 中如何做到这一点?

最佳答案

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

int n = v[index];

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

int n = v.at(index);

后者为越界访问抛出 std::out_of_range 异常。

关于java - C++ 等效于 Arraylist.get(index),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29875858/

相关文章:

c++ - 将字符串值转换为标准字符串

c++ - 如何从另一个线程的 cpp 代码同步调用 qml 信号处理程序?

r - 如何将数据导入R中的向量

C++ vector - push_back

java - 我的 Maven 配置有什么问题?

c++ - boost function_input_iterator range 的快捷语法

java - 如何在 lambda 函数中延迟初始化 Map?

c++ - vector 的重新分配是否会导致父 vector 的重新分配?

java - p :ajax inside h:graphicImage

java - 使用 Package 限制 Autowiring 组件的集合