volatile
C++でvolatile修飾子を変数につけるとその変数はスレッドセーフになるという勘違いを今までしていました…
オブジェクトの寿命を管理する手段として参照カウントがあります。
オブジェクトが必要になれば参照カウントをインクリメントし、
不要になればデクリメントします。
どこからも全く必要とされていない場合は参照カウントが0になるのでオブジェクトを破棄することが出来ます。
参照カウントをマルチスレッドで操作する場合は、参照カウントが複数のスレッドから同時に変更されるのを防ぐ必要がありますが、
WindowsのAPIにはそのためのAPIがあります。今日知りました…
InterlockedIncrement
InterlockedDecrement
です。それぞれ、参照カウントを増やしたり減らしたりします。
疲れ目に効く!なんていう目薬がたくさん市販されていますが、
はっきりいって、これまでそんなの信じていませんでした。
目が潤うだけなんじゃないかと。
目薬はコンタクトをつけていて、目が乾いてきたときだけ使っていました。
そんな自分ですが、先日ふらっと薬局に行ったついでに
マイティア ビタミンB2 B6 E
という、そこそこ(?)の価格帯の目薬を買ってみました。
で、目が疲れたときに使ってみました。
効きます!
気休めなのかもしれませんが、本当に目がすっきりしました。
ビタミンとか入っていて目にも良さそうな気がするので、これからはこまめに使おうかなと思います。
templateのパラメータを2つ持っているクラスがあるとして、
そのうち1つだけを決めてもう片方をtemplateパラメータとして残しておきたい
ということがありました。
Microsoftが公開していたGUIライブラリ、Windows Template Library(WTL)
がSourceForgeにて公開されたようです。
これからもどんどんと改善されることを期待していいのかな?
近々機会があれば使ってみたいと思っています。
Boost C++ Library プログラミング という本を買いました。
Boostを今まで愛用していたとはいえ、知らないライブラリもまだまだたくさんあるので、
これから活用していきたいと思っています。
Boostというライブラリが好きです。
これは色々なライブラリを併せたもので、
スマートポインタなんかはとても便利で一度使うともう離れられません。
そんなBoostのライブラリの中に、lambda というライブラリがあります。
無名関数を作るというライブラリなのですが、はっきり言って今まで使い道が分かっていませんでした。
まぁ僕には縁のない学術的な世界の話なのだろうと。。。
で、最近STLのアルゴリズム(find_ifとか、bindとか)を使い始めました。
ループを書かなくてすんだりして楽なのですが、find_ifなんかは比較関数をわざわざ用意しなくてはならず、逆に面倒なことになったりもしていました。
こんな関数を用意せずに使えたらなぁ・・・ってそれがBoostのlambdaなのでした。
すごい!の一言。
もう少し勉強して今度実際に使ってみよう。
© Blogger template 'Isolation' by Ourblogtemplates.com 2008
Back to TOP