2009-12-01から1ヶ月間の記事一覧

new A;した時にAのコンストラクタが例外を投げたらどうなるのか

C++でコンストラクタから例外を送出したい時 - 足跡の解決編です。 手元にあったC++Effective第三版の最後の方のページに全ての答えが書いてありました。 買った本はちゃんと全部読まないとダメですね。 コンストラクタから例外を送出する可能性のあるクラス…

/etc/sudoersを不用意にいじってはいけない

今年最後の大ポカ。 /etc以下を指定ユーザー意外がアクセス出来ないようにとグループを変更したら/etc/sudoersも一緒にグループを変更してしまった。 このsudoersというファイル、sudoするのに必要な条件が書いてあるのですが、中身はもちろんのこと、ファイ…

C++でコンストラクタから例外を送出したい時

きっと今年最後の思いつき。 一般にコンストラクタから例外を投げるとリソース漏れの危険性が出てくる。 例外を投げた当のオブジェクトが自身のリソースをきちんと処理していなかったり、コンストラクタから例外を投げるクラスをnewした時にインスタンスが宙…

属性?みたいなの

メソッドでの場合はすぐ忘れるからメモ。 virtual - クラス定義の中でだけvirtualを書く。 static - 同上。 inline - クラス定義内で定義したメソッドには不要。そうじゃない場合は同一ファイル内で関数定義してる場合のみ有効。

'hoge::hoge' will be initialized after

コンストラクタ初期化子の順番と、メンバの宣言順が違うと発生するwarningだとかだそうで。 理由とかは下記ブログに書かれていたので割愛。 initialized after - blanket log

vimからastyleを使ってコード整形

「コードフォーマッターとか俺の知らないもんなんぞ知ったことかぁぁぁぁぁ」とか考えて幾星霜。 そろそろいい加減コードの整形を意識しながら書いていくのも面倒くさくなってきたのでツールに頼る事にしました。 まずvimに備え付けの整形機能を使ったのです…