のアイテムをどのように反復処理しますboost::shared_array
か? それを実行してget()
、生のポインタをイテレータとして使用しますか?
4141 次
2 に答える
3
すでにブーストを使用しているため、おそらく次のようになります。
#include <boost/shared_array.hpp>
#include <boost/range.hpp>
#include <iostream>
int main()
{
boost::shared_array<int> arr(new int[10]());
int* ptr = arr.get();
for (int i : boost::make_iterator_range(ptr, ptr+10))
{
std::cout << i << ',';
}
}
いずれにせよ、配列のサイズを独自に予約する必要があります。
于 2013-03-13T09:01:38.947 に答える
2
を作成する前に配列を割り当てる必要があるという事実によって、配列のサイズを既に知っているのを見て、boost::shared_array
それを反復する唯一の方法は、通常のfor
ループを使用operator[i]
してから、 onを使用しboost::shared_array
て要素を取得することです。
于 2013-03-13T08:54:06.047 に答える