Standardではない邪道なC++ライブラリの開発日誌
前回、文字および文字列はワイド文字を基本とすることを書きました。その後、文字列クラスをどうするかについていろいろ検討を行いました。簡単にいえば、std::wstringをそのまま使うのか、std::wstringを一度ラッピングするのか、あるいは全く独自のクラスを使うのかについてです。

全く独自の文字列クラスを使う方法については、手間がかかる割には得るものが少なく、真っ先に除外することにしました。後は、std::wstringをラッピングするかどうかです。

ラッピングする場合のメリットは、処理系間の細かな仕様の違いを吸収しやすい点にあります。また、アロケータをデフォルト以外に変更したい場合など、::std::wstringではなく、std::basic_string<wchar_t, ...>の場合の使い勝手も向上します。

std::wstringをそのまま使う場合のメリットは、標準の文字列型であるため、他のライブラリとの親和性が向上する可能性がある点、設計~実装の手間が省ける点などがあります。しかし、他のライブラリでstd::wstringが積極的に利用されているケースは稀であり、これについては疑問が残ります。

結論としては、std::wstringをラッピングして使うことにしました。ラッピングすれば、ナロー文字列をコンストラクタに渡して、自動的にワイド文字列に変換するようなこともできるので、利便性が向上することも多いでしょう。



この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
スポンサーサイト
ブログ内検索
カレンダー
09 2008/10 11
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