無差別に技術をついばむ鳥

情報処理技術全般を気まぐれに研究するブログです

STLをつつく1−pairテンプレート。仲良く行こう♪

今回はutilityに属するpairをつつくピヨ♪このテンプレートは、1つの組となる値を保持する構造体を提供するものピヨォ♪。例えば、IDと名前を保持する構造体をプログラムで使いたい場合や、誰と誰が恋人同士なのかを保持する構造体が欲しい時とかに使用するピヨ♪
前置きはこれぐらいにして、お楽しみのサンプルをお見せするピヨ♪


//#define TEST #include <assert.h> #include <iostream> #ifdef TEST #include "utility.h" using namespace indre; #else #include <utility> using namespace std; #endif //テスト用のPairクラス typedef pair< int, char > Pair_Foo; int main() { //引数を持たないコンストラクタのテスト Pair_Foo p1; assert ( p1.first == 0 ); assert ( p1.second == 0 ); std::cout << "引数を持たないコンストラクタの初期値は、first = " << p1.first << " second = " << p1.second << " です。\n"; //引数を持つコンストラクタのテスト int param1 = 0; char param2 = 'test'; Pair_Foo p2 = Pair_Foo ( param1, param2 ); assert ( p2.first == param1 ); assert ( p2.second == param2 ); std::cout << "引数を指定してコンストラクタを呼び出しました。\n" << "値はfirst = " << p2.first << " second = " << p2.second << " です。\n"; //演算子のテスト assert ( p1 != p2 ); std::cout << "p1とp2は等価ではありません。\n"; assert ( p1 < p2 ); std::cout << "p1はp2未満です。\n"; assert ( p1 <= p2 ); std::cout << "p1はp2以下です。\n"; assert ( p1 == p1 ); std::cout << "当たり前ですが、p1とp1は等価です。\n"; assert ( p2 > p1 ); std::cout << "p2はp1より超えています。\n"; assert ( p2 >= p1 ); std::cout << "p2はp1以上です。\n"; }

このサンプルを実行したら、utility::pairが比較も出来る便利な構造体を作ってくれるという事が分かるピヨ♪プログラミングをしていると、組で扱えたら便利だと思うオブジェクトが結構あるから便利だね♪えっ?何でアサートとかあるかって?それはねぇ、この記事がSTLをつつき彫るシリーズと連動しているからなんだピヨッ♪STLを実装したらテストが必要だから、そのテストを有効利用するためにこのシリーズを書く事にしたんだ。一石二鳥だね♪
別窓 | C++ | コメント:2 | トラックバック:0 | ∧top | under∨
<<STLをつつき彫る1−pairテンプレート。何時も仲良し♪ | 無差別に技術をついばむ鳥 | 英語を啄ばむ6−細かくつついて情報を出す。>>

この記事のコメント

> char param2 = 'test';

えっ?
2009-05-09 Sat 18:39 | URL | επιστημη #-[ 内容変更]
またか・・・
何がしたいんだ?
2009-05-09 Sat 18:45 | URL | n #-[ 内容変更]
∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |