無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

動的変数(new, delete)

new演算子で動的変数を生成できます。動的変数を使うと、プログラムで必要になった時に動的にメモリを確保することができます。(通常はスタック領域に確保されるメモリを、ヒープ領域に確保すると解釈。)

  • 「new <型>;」でメモリを確保し、そのポインタを返す。
    • 変数にはポインタを介してアクセスする。
  • 確保した領域は、「delete <ポインタ>;」で開放する。
    • 配列の場合はdeleteの後に[]をつける。
    • 忘れるとどうなるのか?メモリリーク?プログラムが終了したら開放される?(←Javaプログラマ的希望的観測かも。)
  • メモリ不足で領域を確保できない場合、0が返される。
    • マジか!
#include <iostream>

// メイン関数
int main() {
    
    // 動的変数
    int* i = new int;
    *i = 10;
    
    // 動的変数にした配列
    int* array = new int[*i];
    for ( int j = 0; j < *i; j++ ) {
        array[j] = j * 100;
    }
    
    std::cout << *i << std::endl;
    std::cout << array[5] << std::endl;
    
    // 変数を削除
    delete i; 
    delete [] array; // deleteの後に[]をつける。
    
    return 0;
}

実行結果です。

10
500