volatile)の扱いについてメモ。typeid演算子オペランドに型名(type-id)や式(expression)を指定するとき、下記ルールが適用されることに注意。C++プログラミング言語C/C++における条件演算子(?:)と左辺値の扱いについてメモ。言語仕様の隅をつつく話題であり、通常はif文を利用するべき。functiongccgccの一風変わった警告メッセージ。下記コードはfalse(1)相当を実装する。this]は許容される。7現在でも何ら特定の機能を持たない*1。指定した時の振る舞いについて。とる関数において、該当引数に0を指定したときの振る舞いは下記の通り規定される。...2012-11-10bool型へのexplicitユーザ定義変換C++C++11からはユーザ定義変換に対してexplicit指定ができ、意図しない暗黙の型変換を抑止できるようになった。一方で「bool型へのexplicitユーザ定義変換」だけは、記述されている場所に応じて(コンテキストに依存して)自動的にbool型へと変換される。Libraries"の旧Edition全文がWeb公開されている。1.42.0に基づく。BY-NC-NDライセンス。1.56.0まで対応したアップデートが行われている。継続渡しスタイル)で簡単に記述できるようになった(と思う)。実用性の程はともかく。fact(n</iostream></functional>...2012-11-07overrideキーワード指定の強制?C++C++11で新しく導入されたoverrideキーワード*1に関するメモ。コーディング時のミスや設計変更により「意図せず正しいオーバーライドになっていない*2」事態を防ぐ仕組みだが、C++11にはこのoverrideキーワード利用自体を強制する機能はない。C++コンパイラのバージョン判定マクロについて。2017-03-07追記:本ページはVC2012以降メンテナンスされていない。登録しておくことで、イベント呼び出し時にnullチェックを逐一記述する必要がなくなる。Objectパターン*1。SomeEv...2012-11-03タグ付きタプル型C++C++標準ライブラリやBoost.Tupleライブラリが提供するタプル型(tuple)では、タプル要素へはインデクス指定でアクセスする。タプルの要素アクセスを名前(タグ)経由で行う方法についてメモ。C#プログラミング言語JavaやC#では文字列型=参照型として定義されるため、空の文字列""と参照先なしnullは明確に区別される。マネージドコード(C#)からアンマネージド(native)関数へ渡す方法メモ。注意:本記事中のC#コードでは例外安全を考慮しておらず、確保したメモリブロックのリークが発生しうる。メモ:アンマ...2012-10-30C#のusingステートメントC#プログラミング言語C#におけるusingステートメント利用に関するメモ。型TはIDisposableインタフェースを実装する必要がある。WindowsC#からのP/Invokeにおけるパラメータの方向属性*1についてメモ。C#における既定の方向属性は下表のとおり。呼び出し元/呼び出し先はマネージド(C#)/アンマネージド(native)いずれかになる。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。