タグ

2009年6月19日のブックマーク (2件)

  • has incomplete type

    「has incomplete type」という検索フレーズは、ここのところ毎日のように目にします。おそらくは、GCCを使用していて、コンパイルエラーまたは警告が出たために、その内容を調べたかったのでしょうが、私が運営している姉妹サイト群の中で、この検索フレーズに該当する部分では全く別の内容を書いています。 というわけで、今回はこの「has incomplete type」を取り上げることにします。"incomplete type"というのは「不完全型」の意味で、次に挙げる3種類のものがあります。 struct A;のようにタグ名だけを宣言した構造体、共用体、列挙体(およびC++ではクラス)要素数を指定しない配列型void型これら不完全型のポインタ(C++では参照も)を扱うことは可能ですが、不完全型のオブジェクトを宣言したり、不完全型のオブジェクトを要求するような記述を行うことはできません

    has incomplete type
  • stack

    stackとは スタックは末尾(または先頭)に限って要素の追加削除を行うことのできるデータ構造です。 末尾からしか要素を取り出せないので、 必然的に「後に入れたものから先に取り出さなくてなはならない」ということになります。 そのため、スタックはLIFO(last-in first-out)とも呼ばれます。 スタックに新しい要素を挿入することをpush、要素を取り出すことをpopといいます。 スタックは末尾への要素の挿入・削除ができるデータ構造なら何を使っても実装することができます。 普通は配列や単方向連結リストを用いて実装します。 STLにおけるstack STLのstackは何を使って実装するかをvector,deque,listの中から選べます。 スタックの要素の型をTとすると、

    stack
    tyru
    tyru 2009/06/19
    「STLのstackは何を使って実装するかをvector,deque,listの中から選べます。他にも、push_back, pop_back, back, sizeなどのメソッドを適当に定義ã