Standardではない邪道なC++ライブラリの開発日誌
ライブラリを開発するにあたり、最初に決めておかなければならないことがかなりあります。名前空間もそのひとつです。もっとも、決めておかなければならないことは確かですが、これについてはほとんど選択肢はありません。ライブラリ名を取って、dradnatsとするのが妥当でしょう。

他に、特定のプラットフォームに依存するライブラリ要素を格納するための名前空間も決めておくことにします。これも安直に、Windowsに依存する部分はdradnats::windows、POSIXに依存する部分はdradnats::posixとすることにします。他のプラットフォーム依存のものが出てくるなら、同様に名前空間を設定することにします。

また、特定のライブラリに依存する部分の名前空間ですが、これは基本的にはdradnatsの中に入れてしまおうと考えています。例えば、Boost C++ Librariesに依存する部分であっても、dradnats::boostとはせずに、単にdradnatsとすることにします。もっと特殊なライブラリやフレームワークに依存する場合は、その都度考えることにします。

最後に、ライブラリが内部的に使用する名前空間についても決めておく方がよいでしょう。実装の詳細部分を格納するための名前空間を分離しておくことで、クライアントコードで使用するdradnatsのような名前空間を汚染せずに済みます。これは、Boost C++ Librariesに倣ってdetailとすることにします。例えば、dradnats::detailとか、dradnats::windows::detailのようにします。

これで名前空間については一通り決まりました。



Effective STL―STLを効果的に使いこなす50の鉄則
画像 著者:スコット メイヤーズ
価格:¥ 3,360

『もっとSTLについて知りたい方へ』

STLの利用経験のある方向けです。
本書の最初でも一応、STLについて簡単に触れてくれているのですが
STLについてまったく知識の無い方は
まずは【STL標準講座】などの書籍で
STLをある程度使えるようになってから本書を読むことで
さらにもう1歩、STLについての知識が深まると思います。

実際、これを読む以前でもSTLを【とりあえず使える】レベルだったのですが
もっと利口な使い方があったのだなと色々収穫がありました。
余力と興味があれば【Boost】についても学んでみるつもりです。
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
スポンサーサイト
ブログ内検索
カレンダー
06 2010/07 08
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
最新CM
[03/26 たかぎ]
最新TB