Monthly Archives

Home >2006年03月

2006-03

スポンサーサイト
...
----- | スポンサー広告
例外処理のないC++
標準C++における例外処理機構は、言語レベルでサポートされるものであり、ライブラリのように用がなければ使わなくても済むという代物ではありません。しかし、例外処理機構が存在すると、このブログでもたびたび触れてきたように、プログラムの肥大化を招くなど、大きなオーバーヘッドの要因になります。されに、マルチタスク対応できない場合があるなど、いろいろな問題も内在しています。次回からは、敢えて標準規格に背を向け......
03-31 | 例外のないC++ | Comment : 0  | Trackback : 0 
固定長文字列クラスのスタック消費量
固定長文字列クラスを設計する上での主な問題点として挙げた三点の最後がスタック消費量が大きいことです。標準の文字列クラスであるstd::basic_stringは、文字列の本体はフリーストアから割り付けますので、スタック(正確には自動記憶域)の消費量は知れていました。しかし、固定長文字列クラスでは、文字列を格納する配列をクラスのメンバとして持つことになりますから、それだけスタック消費量が大きくなります。そうはいって......
03-16 | 実装技術 | Comment : 0  | Trackback : 0 
固定長文字列クラスの内部に保持している配列のサイズ以上を格納しようとした場合のエラー処理
異様に長いタイトルになってしまいましたが、今回は文字通り、固定長文字列クラスの内部に保持している配列のサイズ以上を格納しようとした場合のエラー処理についてです。固定長文字列である以上、配列のサイズも固定であり、そこに格納できなかった場合の処理は避けることができません。方針としてはいくつか考えられます。格納できなければ、はみ出した分は切り捨てる。例外を発生させる。コールバック関数等を呼び出す。仮想関......
03-14 | 実装技術 | Comment : 0  | Trackback : 0 
固定長文字列クラスから暗黙的に変換可能な共通クラス
引き続き固定長文字列クラスの話題です。前回、固定長文字列クラスを設計する上での問題点として、固定長文字列クラスから暗黙的に変換可能な共通クラスが必要だということを書きました。共通のクラスに変換できないと、固定長文字列を引数として受け取る関数は常にテンプレートにしなければならなくなってしまいます。最も素直な解法は、固定長文字列クラステンプレートに共通の基底クラスを作ってしまう方法です。先に紹介した B......
03-14 | 実装技術 | Comment : 0  | Trackback : 0 
固定長文字列クラスのその後
なかなか更新できずにいますが、前回ご紹介した固定長文字列について、私なりにいろいろ検討してみました。固定長文字列クラスを設計する上では、主として以下の三点が大きな問題になりそうな雰囲気です。固定長文字列クラスから暗黙的に変換可能な共通クラスが必要。内部に保持している配列のサイズ以上を格納しようとした場合のエラー処理。スタックの消費量が非常に大きい。前回の記事でもコメントをいただいたformat関数ないし......
03-12 | 実装技術 | Comment : 0  | Trackback : 0 

C++と組み込み環境 | Page Top▲

Navigation
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。