Flat Leon Works

アプリやゲームを作ってます。

技術

【C++ アイデア】ファイルのフォルダ分けをしつつ、ヘッダのインクルードを楽にする

ファイルのフォルダ分けをすると#includeが面倒になる問題 ファイルをフォルダ分けしたことによる問題 ファイルを移動したことによる問題 解決法?1: フォルダ分けを諦める 解決法?2: 楽に#includeをするのを諦める 解決法3: インクルードパスを設定する 解…

【C++ 小ネタ】ポインタ変数の初期化はif文の条件式で行うと一石三鳥

関数の戻り値やdynamic_cast結果のポインタはNULLの可能性があります。そしてNULLポインタへのアクセスはプログラムをクラッシュさせたりします。 Hoge* p_hoge = GetHoge(); p_hoge->SetValue( 4 ); // p_hogeがNULLだとアウト 当然、if文でNULLチェックを…

【C++】プリプロセッサの基礎(マクロ編)

マクロとは マクロの役割 マクロを定義する 定数マクロの例 関数マクロの例 定義したマクロを削除する #ifでマクロが定義されているかどうかを利用する 組み込みマクロ 可変個引数のマクロ マクロ引数の文字列定数化 マクロ引数の連結 複数行に渡るマクロ定…

【C++ 小ネタ】ブロック文を活用する

ブロック文とは C++にはブロック文というものが存在します。ブロック、あるいは複合文とも呼ばれます。 // これがブロック文 { // ここはブロックスコープとなる } ブロック文はスコープを作り出すだけで、特に意味のない存在のように見えますが、実は結構便…

GLFWをMac環境で動かすとウインドウが表示されてないときのみCPU使用率が異様に高くなる場合がある

Mac環境でGLFWを使ったプログラムを書いていて気付いたのですが、ウインドウが表示されていないときのみCPU使用率が異様に高くなります。ちょっと調べてみたところ、glfwSwapBuffers でvsync(垂直同期)が発生しなくなってるのがわかりました。つまり、ウイン…

はてなブログ(無料版)でLightboxとbxSliderを利用する

はてなブログを使って運用している「うさプレイヤ公式サイト」にLightboxとbxSliderを導入してみたので、そのときのメモ。 補足 はてなブログとは別にファイルをアップロードする場所も必要になります。 私はGoogleドライブに置くようにしてます(2016/08/10 …