1

PHPでは次のようなことができることを覚えています

substr(string,start,length)

今私は宣言します

int array[20];

forループを使用せずにその一部のみを印刷するにはどうすればよいですか?

例えば。

cout << array[1 to 5] << "Here is the breaking point" << array[15 to 20] << endl;

このようなもの

5まで言うようprintfなものがあったかどうかも覚えています^5

4

2 に答える 2

6

ostream_iteratorcopyideoneへのリンク)の組み合わせを使用できます。

#include <iostream>
#include <iterator>
#include <algorithm>

using namespace std;

int main() {
    int array[] = {1,2,3,4,5,6,7,8,9,10,11,12,13};
    ostream_iterator<int> out_it (cout," ");
    copy ( array+3, array+6, out_it );
    return 0;
}

構文は変わっているように見えるかもしれません。これは、ポインタを生成する、とarray+3同等のポインタ式です。&array[3]C標準ライブラリがイテレータのペアを期待する場所に配列ポインタのペアを渡すことができるので、これは期待される結果を生成します。

于 2012-08-06T16:39:41.647 に答える
3

ostreamイテレータにコピーできます。

std::copy(array, array+5, std::ostream_iterator(std::cout, " "));
std::cout << "Here is the breaking point";
std::copy(array+15, array+20, std::ostream_iterator<int>(std::cout, " "));
于 2012-08-06T16:39:42.613 に答える