« C++ (9) 2進ベクトル CBVector クラスの実装 | トップページ | C++ (11) C++ の動向 »

2015/01/24

C++ (10) 2進行列クラス CBMatrix と単体テスト

今回は CBMatrix クラスを追加しました。Native Unit Test Project の使い方が分かったので、unittest1.cpp を追加しました。Visual Studio の [TEST] [Run] [All Tests] からテストを起動できます。結果は Test Explorer に表示されます。23個のテスト項目を作成し、全てパスすることができました。

Unit Test

ソースコードは CodePlex に公開しました。ドキュメントはこちらにアップロードしました。

Visual Studio の Team Explorer から Sync を使って CodePlex にアップロードしたのですが、ローカル Git への Commit がうまくいかなかったらしく、Win32 Console のテストプログラム RegressionTest.cpp はアップロードできませんでした。

CBVector クラスについては、動的配列のメモリを解放するための仕組みとして releaseMem というメソッドを作りました。 前回の版では解放できていない、いわゆるメモリ リークがありました。C++ のメモリ管理は結構めんどうです。boost というライブラリを導入すると解決できそうだったのですが、今回は自力でなんとかしました。


|

« C++ (9) 2進ベクトル CBVector クラスの実装 | トップページ | C++ (11) C++ の動向 »

C++」カテゴリの記事

コメント

今の環境で、unique_ptr, shared_ptr, weak_ptr が使えることがわかりました。動的配列を内蔵するクラスのポインタとして、shared_ptr がうまく機能すれば、使ってみたいと思います。

https://msdn.microsoft.com/ja-jp/library/hh279674.aspx

投稿: のんき | 2015/01/26 23:57

okogeさん、情報ありがとうございます。Visual Studio 2013 のC++ はC++11ベースらしいのですが、スマートポインタが実装されているのか今のところ不明です。調べてみます。
https://msdn.microsoft.com/en-us/library/hh567368.aspx

投稿: のんき | 2015/01/26 19:44

どうせC++を使うのならC++11もしくはC++14を使うことをオススメしますよ。
std::unique_ptrやstd::weakptrやstd::shared_ptrといったスマートポインタがありますし型推定、その他にも色々便利になってます。

投稿: okoge | 2015/01/24 03:03

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: C++ (10) 2進行列クラス CBMatrix と単体テスト:

« C++ (9) 2進ベクトル CBVector クラスの実装 | トップページ | C++ (11) C++ の動向 »