忍者ブログ

神戸電子専門学校ゲームソフト学科の生徒が運営するGESのブログです。

   

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

GenericProgramming

ども・・・・・・・・・・・・GES会長の和佐田雅史です。
今日はC++におけるGenericProgrammingについて少しだけ・・・・・・・・・・・


前スマートポインタの所で書いたtemplate< class T>~のようにtemplateを使ったプログラムの事をジェネリックプログラミングと言います。


具体的な用途とか意味を説明しますと、型に依存しないプログラムが組める。
例えば

以下のコードはT型の変数を安全にdeleteするプログラムです。

template < class T > inline void Safe_Delete( T p )
{
    if ( p )
    {
        delete p;
        p = NULL;
    }
}

T型は勿論ポインタ型でないといけません。
※< class T >と書いていますが、< typename T >でも同じことです。

上のユーティリティーを使う時は

// new演算子で動的に作る
Character* pChara = new Character;


// 解放する
Safe_Delete< Character* >( pChara );

とすれば使えます。
※別に型は指定しなくても使えるが、一応念のためこうして記述するようにして下さい。

このGenericProgrammingを使えるようになればObject志向だけでは補えなかった柔軟性という部分を手に入れることが出来、今よりも更に効率的なプログラムが組めるようになります。


ではここでちょっと本の紹介を・・・・・・・・・・・


Effecttive C++
効率的なプログラムを組みたい人向け。中級者向き。

Effevtive STL
STLを利用したジェネリックプログラミングです。
STLで効率的にプログラムを組みたい方にはお勧めです。

More Effecttive C++
スマートポインタの実装の仕方、コンストラクタとデストラクタを用いたリーソースリークの防ぎ方等々
中級者向き。


Modern C++ Design
デザインパターンをジェネリックに実装する方法が書かれた本。
これが理解出来れば恐らく現役のクリエイターにすら匹敵する実力が身につきますが・・・・・・・・・・

基本的にはお勧めしません。最強のC++プログラマになりたい方のみ読んで下さい。
あ・・・・因みに言うまでも無いですが、上級者向きです。

※それ以上に難しいことがしたい人は基本的に洋書になります。



それではお疲れ様でした。

拍手[0回]

PR

COMMENT

NAME
TITLE
MAIL(非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS(コメント編集に必須です)
SECRET
管理人のみ閲覧できます

ブログ内検索

最新コメント

[01/29 人面犬]
[10/01 8ch]
[09/12 uncle]
[09/10 某卒業生]
[06/07 uncle]

カレンダー

04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

テスト

Copyright ©  -- GESブログ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]