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

C++でC#のようなListを使いたい

公開日:
更新日:

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

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

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

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

CAUTION

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

  • ここでは, Listの導入方法を説明します. 説明項目は以下のとおりです.

    • ダウンロード
    • インクルード
  • ここでは, Listの基本的な使い方を説明します. 各説明項目は以下のとおりです.

    • 使用例
    • C#との相違点
    • Sortについて
  • Listが持つ関数は以下のとおりです.

    List コンストラクタ
    Count 要素数を取得
    Capacity 容量を取得
    SetCapacity 容量を設定
    Array 内部配列先頭アドレス取得
    Add List末尾に要素追加
    Insert 指定した位置に要素挿入
    IndexOf 指定されたオブジェクトの位置
    LastIndexOf 最後から検索して最初に見つかったオブジェクトの位置
    CopyTo 配列にコピー
    RemoveAt 指定した位置を削除
    Clear 要素をゼロ
    Sort 並び替え
    Trim 容量を要素数に設定
    CopyFrom 指定されたListからコピー
    MoveFrom 指定された配列そのものをListに差し替え

    筆者がこのListを作る際, C#のListリファレンス(accessed: 2.1.2017) を参考にしました. 関数名はほとんど同じにしています.

「https://contentsviewer.work/Master/Library/Cpp/List」から取得