タグ

ブックマーク / www.s34.co.jp (5)

  • 株式会社エス・スリー・フォー » STLport のハッシュ・コンテナ

    STLport のハッシュ・コンテナ 標準C++ライブラリが提供するコンテナは、vector, list, deque, set, multiset, map, multimap の7種です。 これらコンテナから特定の要素を検索するとき、その時間計算量は vector, list, deque では O(N), set, multiset, map, multimap では O(logN) となります。 これ以上に高速な検索が可能なコンテナとしてハッシュ表(hashtable)を利用すれば、適切なハッシュ関数を与えることによって検索に要する時間計算量をコンテナ内の要素数に関わらず O(1) に近づけることができますが、残念ながら標準C++ライブラリにはハッシュ表で実装されたコンテナ(ハッシュ・コンテナ)を提供していません。 SGI(Silicon Graphics社)のSTL実装をベースに

  • 株式会社エス・スリー・フォー » C++の新しいキャスト

    C++の新しいキャスト 従来のキャストの問題点 異なる型への変換において、C/C++ではキャストが用いられます。 // intからlongへのキャスト int ival; int lval = (long)ival; ご存知のとおり、キャストは非常に危険です。 来ならば型の不一致によるコンパイルエラーをねじ伏せるのですから。 キャストの使われ方(意味)は、大きく3種(型変換/型変更/const外し)に分類されます。 型変換 // int から double へ int ival; double dval = (double)ival; 型変更 // long から int* へ long lval; int* iptr = (int*)lval; const外し // const int* から int* へ const int* ciptr; int* iptr = (int*)cip

  • C/C++ Technical Documents

    C++ 寄稿記事 επιστημη 氏から寄稿していただいた、開発者の方々にお役に立つテクニカルドキュメントです。Articles、References、Miscelaneousに分かれて説明しています。初心者の方からプロの方まで役に立つ読み物と資料集です。是非、開発のお役にお立て下さい。 Articles: 読み物 References: 資料集 Miscelaneous: 番外編

  • 株式会社エス・スリー・フォー » ‘置換’はどうやればいいのですか?

    ‘置換’はどうやればいいのですか? そうですよね、’検索’ができたならその次は’置換’でしょう。置換すなわち文字列のある部分を他の文字列で置き換えるのは、単なる’検索’より少しばかり複雑です。 charやwchar_t配列を文字列として用いている場合、’置換’はひどく面倒な処理が必要となります。’置換’によって文字列の長さが変わらないのなら何の問題もないのですが、文字列の一部をより短い文字列で置き換える場合、置き換える箇所の後ろに続く部分を短くなった分だけ前に詰めなくてはなりません。また、より長い文字列で置き換える場合、置き換える箇所の後ろに続く部分をより後ろにズラさなくてはなりません。困ったことにcharやwchar_t配列の長さを知ることができませんから、置換による領域あふれの危険が常につきまといます。 それに対し標準C++ライブラリが提供する文字列クラスstd::basic_stri

    hamasta
    hamasta 2008/01/07
    文字列の置換 string
  • 株式会社エス・スリー・フォー » おすすめ書籍リスト

    hamasta
    hamasta 2007/04/06
    C++の本
  • 1