目次 このページのソースコードを表示

C++ライブラリ

公開日: 更新日:

このページは筆者が作成したC++のライブラリが公開されます.

  • 本稿では, C++でバージョンに左右されずに文字を扱うために, 以下の機能を持つライブラリを紹介します.

    • 型依存しないUTF-8, UTF-16, UTF-32間の相互変換
    • UTF-8, UTF-16文字(コードポイント)ごとのイテレート
    • 標準イテレータを使ったイテレート
    • 型依存しないイテレータの対応
  • C#からC++に入った人もいるでしょう. その時C#で大変よく使っていたListが恋しい場合があります. C++を書きつつC#を感じたい時があります.

    上の問題を解決する方法でここで紹介するListがあります. このListで用意されている関数名はほぼC#と一致します. C#でのListは要素数が容量を上回ったとき自動でメモリが再確保されますが, ここで紹介するListもそのように動作します. アルゴリズムも同じです(はずです).

    C#で非常に便利だったSort関数も用意されています. もちろんですが, 処理が一番早いとされているクイックソートアルゴリズム(O(n*log(n)))を使用しています.

    Listを強化, 改良何でもしてください. ( `ー´)ノ

    注意:

    C#のListを使ったことがない方は, これをお勧めすることはできません. これと同様かそれ以上の機能を持つC++のvectorをお使いください. C++ですでに用意されています.

  • C#からC++に入った人もいるでしょう. その時C#で大変よく使っていたStringが恋しい場合があります. C++を書きつつC#を感じたい時があります.

    上の問題を解決する方法でここで紹介するStringがあります. このStringで用意されている関数名はほぼC#と一致します.

    C#で非常に便利だったSplit関数も用意されています.

    また, 文字列探索において一番高速とされるBM法を用いています.

    Stringを強化, 改良何でもしてください. ( `ー´)ノ

    注意:

    C#のStringを使ったことがない方は, これをお勧めすることはできません. これと同様かそれ以上の機能を持つC++のstringをお使いください. C++ですでに用意されています.

  • サイズ固定のスタックを扱うライブラリを紹介します.

    このStackは, 以下の特徴を持ちます.

    • std::stack が使用できない状況下でのスタックの使用
    • メモリを贅沢に使用しないサイズ固定スタック
    • 例外処理に対応していない環境下での使用
  • サイズ固定の待ち行列ライブラリを紹介します.

    このQueueは, 以下の特徴を持ちます.

    • std::queue が使用できない状況下での待ち行列の使用
    • メモリを贅沢に使用しないサイズ固定待ち行列
    • 例外処理に対応していない環境下での使用
「https://contentsviewer.work/Master/Library/Cpp/Cpp」から取得