如何在C ++中打印完整的值数组

时间:2015-11-13 00:44:09

标签: c++ arrays

我试图在C ++中找出一个完整的数组。 例如,我希望输出为x = [1,2,3,4,5 .... n] 我该怎么做呢?我已经知道如何使用简单的for循环打印数组的每个元素。例如在python中,您可以简单地说x = [],创建一个for循环以将元素附加到数组,并打印x。

所以,让我说我有这个代码。

schema_name     
--------------------
pg_toast
pg_temp_1
pg_toast_temp_1
pg_catalog
public
information_schema

在这种情况下,这显然只会吐出x [10]。我想要的地方x = [1 ... n]等 实现这一目标的最简单方法是什么?

我在OSX上使用Eclipse。我使用Xcode开发人员工具用于命令行的g ++编译器

2 个答案:

答案 0 :(得分:3)

您正在寻找range based for loop

double x[] = { .0, .1, .2, .3, .4 };
// Iterate through all elements
for (auto d : x)
{
    std::cout << d << std::endl;
}

请注意,上面的内容包含每个元素的副本,因此如果您想要修改元素,则需要使用

for (auto& d : x)

代替。

或者你可以像原来一样使用普通的for循环:

for (int i = 0; i<n; ++i)
{
    std::cout << x[i] << std::endl;
}

基于范围的for循环是最简单的

答案 1 :(得分:2)

如果您对STL有所了解,可以尝试使用迭代器

代码:

#include <iostream>
#include <iterator>
using namespace std;

int main()
{
   int arr[5] = {1,2,3,4,5};
   copy(arr, arr + sizeof(arr)/sizeof(int),ostream_iterator<int>(cout, " "));
   cout << endl;
   return 0;
}