マッピィ Techlog

日々思うこと

C++

【C++】constexprについて

C++

(Effective Modern C++ 項目10を読んで、知らなかったこと) constexprについてメモ。・constexpr指定された変数はコンパイル時に定数になる。 ・関数にも適用できる。その際、引数かconstでしか決まらない結果であることが条件。 (gcc7.2.0) static cons…

【C++】「C++完全理解ガイド Rev1.1.02」

C++

C++完全理解ガイド Rev1.1.02 - Qiita これは良い記事。繰り返し読みたい。 ・僕が読んだ本 ・§ 5 C++を極める が特に好き。 C++は面白いんですけど、まだまだ理解が…。 ゲーム制作は最新のC++が使えないことが多かったりするので、勉強も遅れがち。 とりあ…

【C++】Pimplが素敵!

C++

C++でライブラリを作ったりするのですが、.hファイルにprivateな変数や関数を書くのが嫌でした。 コメントで「使用禁止」などしても、privateをpublicにされても困りますし。ところが、Pimplを使えば、そんな変数なども.cppファイルに隠せるんですね。 いや…

【C++】unique_ptrは便利!

C++

C++11スマートポインタ入門 - Qiita unique_ptrっていいですね! 特にデリータ! スコープを抜けたら勝手にdeleteされるだけでなく、処理もしてくれるとは。 #include <memory> std::unique_ptr<CHoge,decltype(&CHoge::finalize)> hoge( CHoge::create(), CHoge::finalize ); みたいな感じでいいのかな</choge,decltype(&choge::finalize)></memory>…

【C++】GetPrivateProfileStringの注意点

C++

パラメータを読み込む時に、よくGetPrivateProfileString関数を使っています。 仕様を公式から抜粋するとGetPrivateProfileString 関数 DWORD GetPrivateProfileString( LPCTSTR lpAppName, // セクション名 LPCTSTR lpKeyName, // キー名 LPCTSTR lpDefault…

【C++】フレンド関数って何に使うの?

C++

C++のフレンド関数って書籍にはよく出てくるのですが、実戦で使ったことはありませんでした。フレンド関数とはなんなのかをまず説明しますと 「privateメンバを関数からアクセスできる機能」 になります(わかりにくい?)具体的に書けば、 #include <iostream> class </iostream>…

【C++】メモリリークを検出する方法

C++

前々から知ってはいましたが、しばしば忘れる…。VisualStudio2012で作成 #include <crtdbg.h> int main() { int* a = new int(); _CrtDumpMemoryLeaks(); return 0; }という方法もあるのですが、これだとプログラムが終わる直前での判定になってしまうので、 #include <crtdbg.h></crtdbg.h></crtdbg.h>…