Accelerated C++第10章

  • ポインタはランダムアクセス反復子の一種
  • n 要素の配列 a に対し
    • a + i が有効なのは 0≦i≦n のとき
    • a + i が要素を指すのは 0≦i<n のとき
    • a + n は最後の要素の1つ後(container.end() と同じ)
  • 文字列リテラルとは文字数より1つ大きいサイズの const char の配列
  • C++プログラムでは?を2つ以上つなげて書けない
  • new T[n] による配列の初期化
    • T がクラスでデフォルトコンストラクタを持たなければコンパイルできない
    • n 個の要素すべてが初期化されるので、かなりのオーバーヘッドになる


ポインタ反復子なので、アルゴリズムが使えます。普段バイト列の中のデータ検索は頻繁にやるので、これが簡単になるのは嬉しい。

??はトライグラフというものですが鬱陶しいだけのもの。#などが使えない環境でそもそもC/C++を使うのだろうか。

ユーザー定義のコンストラクタが存在する場合、コンパイラはデフォルトコンストラクタを自動生成しなくなるので、明示的に記述が必要となるの注意。