打印矢量的内容

时间:2017-11-27 21:31:24

标签: c++ c++11

我想要了解C ++,我想要打印一个向量的内容,或者,为了确认我的程序是正确的,我可以添加向量的内容并打印结果。

这是我的代码:

#include <iostream>
#include <vector>

using std::vector;
using std::cin;
using std::cout;

int main(){
  int n;
  vector<int> result;
  cin >> n;
  vector<int> numbers(n);
  for(int i = 0; i < n; ++i){
    cin >> numbers[i];
  }
  result = numbers;
  cout << result;
  return 0;
}

我在网上找到了一些用于打印矢量的解决方案,但我并不了解代码的作用,所以我希望有人可以提供帮助。

2 个答案:

答案 0 :(得分:2)

正如您所说“我不明白代码在做什么”,让我简要介绍一下如何遍历容器:

漫长的道路:

vector<int> result = { 1,2,3 };

for (vector<int>::iterator it = result.begin(); it != result.end() ; it++) {
    int i = *it;
    cout << i << " ";
}

每个容器都提供一个迭代器,您可以想到沿着容器元素向前移动的指针。 begin()返回指向第一个元素的指针,end()返回指向最后一个元素的1的指针。取消引用迭代器可以得到实际值。

从长远来看,使用Array#find(),C ++提供了一个具有相同含义的简写符号(即它使用了迭代器概念,但在符号中不那么“笨拙”):

for (auto i : result) {
    cout << i << " ";
}

尝试一下;希望它有所帮助。

答案 1 :(得分:0)

您可以通过循环打印矢量大小

中的每个索引来打印矢量内容

for(int i=0;i<numbers.size();i++){
 cout<<numbers[i];
 }

循环将打印每个索引,直到向量结束