1.天気@埼玉
晴れ
2.所感
マラソン受付 → 図書館 → ドラマ鑑賞、その他
1)マラソン受付
昨日のボーリングで程よく疲れたのかグッスリ眠れました。
午前中にパッと目がさめたので、明日のマラソン大会の受付のため千駄ヶ谷へ、
明日の集合場所の確認もできたので One stone two birds (一石二鳥)だねヘヘw
移動中はケータイでドラマ鑑賞、到着後は届いた葉書と引換えにゼッケンをもらって
受付終了!あとは明日の集合時間に遅れなければオールOK!
2)図書館
マラソン受付が終了したので昼食後、地元川口駅の図書館へ
席が確保できたので、昨日購入した「相棒 シーズン1」をゆっくり読む
エピソード1のテレビ放映はぜんぜん見てなかったので充分楽しめる。
本自体も読みやすく、すぐに物語の世界に引き込まれた。3時間ほど
時間をつぶした後帰宅
3)ドラマ鑑賞、その他
録画しっぱなしのドラマを消化。
今日は、「あしたの、喜多善男」「鹿男あをによし」
「カンブリア宮殿(ドラマじゃないけどねw)」
3.今日の昼食
イタリアンハンバーグ@サイゼリア(900円くらい)
4.プログラミングメモ【C++】
1)細かい話というか発見(雛型関数)
C言語では↓のようなことはできません。
// 汎用的にデータのコピーをします(コンパイルエラーになる)
void CopyObject(void *dst,void *src)
{
*dst = *src;
}
void*型にはアドレスしか入らないので *を使って実体参照することはできません。
特定の型にキャストすれば、実体参照することができますが汎用性がなくなります。
C++から導入されたテンプレート関数を使うとこの問題を簡単に回避できます。
// コンパイル時に型に応じた関数が作られるので、コンパイルエラーにならない
template<typename T1,typename T2> void CopyObject(T1 *dst, T2 *src)
{
*dst = *src;
}
もちろん、互換性の無いもの同士を代入しようとすると、上記のコードはコンパイルで
エラーになります。呼び出し側は CopyObject(&a,&b); と代入先と参照元のポインタ
を渡すだけでOK。a,b が 構造体でもインスタンスでもint型へ変わってもOK
2)Xerces編
通常配布されているWindows版のXercesはDLLだが、可搬性を考えると
スタティックリンクのライブラリの方がうれしい場合がある。
せっかく、オープンソースなのでプロジェクトを作り直せばスタティックリンク版も
可能と思い、ネットで調べたが、あんまり良い情報が無いので自分でやってみた。
たぶん、これでOKという方法が分かり実際にサンプルの動作確認までできた。
手順は明日にでも書こうかな。
5.その他、特記事項
世界経済が心配です(でも、意外と平気かも)
Xerces編、ちょっとだけ進む。