ねににみみず

プログラミングを勉強しています。 C++ / C# OpenGL / DirectX1…

ねににみみず

プログラミングを勉強しています。 C++ / C# OpenGL / DirectX12 DXライブラリ / Unity

最近の記事

コンストラクタ/デストラクタとAdd/Remove

ゲームプログラムの書籍を読んでいたら気になるコードがあったので抜粋と改編。 class Actor {public: Actor(Game* game) : m_Game{ game } { m_Game->AddActor(this); } ~Actor() { m_Game->RemoveActor(this); }private: Game* m_Game;}; ※nullチェックやその他のメンバは省略 コンストラクタでアクター自身がゲ

    • NULLとnullptrが混在していていいのか? in C++

      ねににみみずです。ヌルポインタについての雑記です。 空値 C++には「空のポインタ」を示すNULLマクロがあります。そして、同じく「空のポインタ」を示すnullptrというキーワードもあります。 プリプロセスで整数型の0に置き換えられるNULLマクロでは「ポインタ型である」という情報が正確に伝達できないため(具体的にはオーバーロードの引数が整数型とポインタ型のときなどで困るらしい)、「空のポインタを表す型」としてstd::nullptr_t型およびnullptrキーワー

      • 【DirectX12】ComPtrで詰まったところとか

        お疲れ様です。ねににみみずです。 『DirectX12の魔導書』にておすすめされたMicrosoft::WRL::ComPtr<T>クラス。(以下ComPtr) DirectXを使用する際に大量生成するCOMオブジェクトの管理を助けてくれる大変便利なスマートポインタなのですが、使い方を誤るとメモリの解放漏れが発生します。 この記事では、自分が引っ掛かったところを中心にComPtrの注意点を備忘録的に紹介していきます。 COMオブジェクトについて 私もこの概念については

      コンストラクタ/デストラクタとAdd/Remove