タグ

ブックマーク / www.jpcert.or.jp (1)

  • DCL12-C. 抽象データ型は opaque な型を使って実装する

    DCL12-C. 抽象データ型は opaque な型を使って実装する 抽象データ型はオブジェクト指向言語であるC++Javaに限られたものではなく、C言語でも、作成し使用されるべきものである。抽象データ型が最も効果を発揮するのは、プライベート(opaque)データ型や情報の隠ぺいを実現するときである。 違反コード 以下のコード例は CERT が開発した managed string library に基づく。[Burch 2006]この例では、managed string 型およびこの型に対して演算を行う関数が、以下に示す string_m.h ヘッダファイルで定義されている。 struct string_mx { size_t size; size_t maxsize; unsigned char strtype; char *cstr; }; typedef struct strin

    DCL12-C. 抽象データ型は opaque な型を使って実装する
  • 1