のアイテムをどのように反復処理します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 に答える