タグ

ブックマーク / yohhoy.hatenadiary.jp (2)

  • (翻訳)C/C++のStrict Aliasingを理解する または - どうして#$@##@^%コンパイラは僕がしたい事をさせてくれないの! - yohhoyの日記

    元記事:Understanding C/C++ Strict Aliasing, or - Why won't the #$@##@^% compiler let me do what I need to do!, Patrick Horgan氏 訳出メモ: 自分自身の理解のために日語訳を行ったStrict Aliasing Rules解説記事。 訳文中では "aliasing/alias", "strict aliasing rules", "type punning" をそのまま表記する。直訳すれば "別名(エイリアシング)", "厳密な別名規則", "型もじり(言い換え)" となる。 ところで、何が問題なの? strict aliasing rulesに関しては多くの混乱が見られます。人々を混乱させる主要因となっているのは、aliasingに言及する2種類の異なるグループ; コンパ

    (翻訳)C/C++のStrict Aliasingを理解する または - どうして#$@##@^%コンパイラは僕がしたい事をさせてくれないの! - yohhoyの日記
    nharuki
    nharuki 2016/10/26
  • shared_ptr相互乗り入れ - yohhoyの日記

    C++11標準ライブラリとBoost.Smart_Pointersライブラリでそれぞれ提供される共有ポインタshared_ptrクラステンプレートの相互運用に関するメモ。記事の内容はStack Overflowで見つけた質問と回答内容に基づく。 注意:あくまで “技術的に相互運用が可能であること” を示すだけで、実行時効率や保守性の観点からは片方で統一するのが望ましい。 #include <memory> #include <boost/shared_ptr.hpp> // boost::shared_ptr → std::shared_ptr template<typename T> boost::shared_ptr<T> make_shared_ptr(const std::shared_ptr<T>& ptr) { return boost::shared_ptr<T>(ptr.

    shared_ptr相互乗り入れ - yohhoyの日記
    nharuki
    nharuki 2012/10/22
    カスタムデリータに自身のコピーを持たせて参照カウンタをロックしているのは面白いトリックだなー
  • 1