Boost.PtrContainer


Boost.PtrContainerのptr_array<>というのを使ってみました.
中身をポインタとして保持して,アクセスする時はポインタの先の参照を返してくれる粋なやつです.


ptr_array<>はptr_vector<>とかに比べてちょっと特殊かも.
実体の供給方法とかnullの保持とか.


>>|cpp|

#include
#include
#include
#include
#include

const unsigned size = 10;

int main(){

  boost::ptr_array numbers;


  // 要素(実体)があるかどうかチェックできる.当然無い.
  assert(numbers.is_null(1) == true);


  // arrayの場合はpush_backとか当然できないので,
  // replaceという関数で置き換えてnewする.
  for(unsigned i=0; i(std::cout, ","));
  std::cout << std::endl; // 0,1,2,3,4,5,6,7,8,9,

}

|