ak備忘録

レガシーブログ

C++

ガベージコレクションのアルゴリズム

C++

こんばんは。 GW初日ですが今日は家に引きこもっていました。 普段やってない掃除とか、ちょっと模様替えとかしてなんかスッキリしていますwガベージコレクションの話。 この本を読みました。ガベージコレクションのアルゴリズムと実装作者: 中村成洋,相川…

累乗を求めるプログラムの速度計測

C++

今日たまたま累乗の計算をすることがあったので、 ちょっと累乗計算のアルゴリズムについて調べてみた。そしたら、このような高速な累乗計算のアルゴリズムがあるようだった。http://d.hatena.ne.jp/kazu-yamamoto/20090223/1235372875単純な累乗計算より、 …

空間分割のまとめ的なもの

C++

ここのところ空間分割について勉強していたので、備忘録的な意味でまとめておこうと思う。そもそも空間分割をなぜやるのか?というところだが処理の高速化のためにやる。自分の近くにあるものに高速にアクセスする手段を、 自分から遠くにあるものに可能な限…

boostのshared_ptrとweak_ptrの仕組み概要

C++

boostのshared_ptrとweak_ptrは超便利なスマポ機能ですが、 どんな仕組みなのかだけ軽く解説がてら、まとめておきたいと思います。 (http://d.hatena.ne.jp/Keiro/20110410/1302425268)boostはオープンソースなのでこれを見るまでもなくソース見れば分かり…

クラスのサイズまとめ placement new / delete

C++

何か今日改めてメモリ管理に関して理解しておくことにしたので、 ここにまとめておこうと思う。基礎知識なので、自分用メモです。 (ちなみにポインタ変数のサイズ4バイト(32bit)で計算しています)1、メンバ変数が何もないクラスのサイズは1バイト 2、v…

ランダムの偏り

C++

こんばんは。なんかふと思ったので、久しぶりにプログラミングの記事でも書こうかと思います。 といっても非常に初歩的で当たり前な話です。ただ、初心者向けの書籍やネット資料などでよく見がちなので 初心者が陥りやすいランダムの罠だとは思います。やり…

処理時間計測コマンド

C++

最近仕事で作った何気ないクラス。 クラスA (ストップウォッチ) ・Startで時間計測 ・Stopで時間計測 ・GetElapseで差分計算(Stop-Start) クラスB(クラスAを使用) ・コンストラクタでStart ・デストラクタでStop ・デストラクタでGetElapseしてPrint …

スマートポインタについてあれこれ

C++

最近Boostを使う機会が出来始めてしまったので念のため勉強。 C++関連の勉強って久しぶりにやった気がするわぁ。 scoped_ptr 所有権を絶対に離さない(コピーできない) 使ってる側で勝手にdeleteするの禁止 shared_ptr 所有権を特に定めない 参照カウンタが…