サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
torini.hateblo.jp
モチベーション Unityでは多岐にわたるプロジェクトを考慮してフォルダ関係のサポートは薄く、プロジェクト毎に自由に設定しなければならない。 自由は素晴らしいことだが統一規格がないことは他の人のコードを読む時にもんにゃりする。 そこで、私が良いと思っているフォルダ構成を紹介しようかと思う。 オススメする方法 とりあえず結論から紹介する。 Assets直下をAsset Storeのインポート先とする。 Assets以下に自身のグループや会社名のフォルダを作り、ここを作業フォルダとする。 Assets/MyGroup以下にScenesやScripts、Prefabs等のフォルダを作る。ここは複数のシーンで利用するアセットを格納する。 Assets/MyGroup/Scenes以下にシーン名フォルダを作る Assets/MyGroup/Scenes/SceneName以下にScripts、Pre
概要 生配列を使う人がstd::arrayを使うきっかけになれば良いなと思います。 パフォーマンス 最適化をかければstd::arrayは生配列と全く同じアセンブリを吐き出す事が知られています。 つまり、パフォーマンスに差はありません。 アルゴリズム アルゴリズムに関しては生配列にも適応できるので問題無いでしょう。 std::array<int, 10> a; std::fill(a.begin(), a.end(), 10); int b[10]; std::fill(std::begin(b), std::end(b), 10); forのイテレーション イテレーションに関してはどれも割と難有りですね。 range based forが圧倒的にシンプルです。 生配列のサイズを取得するのにtemplate関数を作らなければいけないのが面倒です。 マクロは個人的にはやめた方が良いと思います
書きやすさ // 関数ポインタ void (*Func)(void); void (Foo::*Func2)(void); // std::function std::function<void(void)> Func; std::function<void(Foo*)> Func2; これは慣れてないと両方読みづらいかもしれませんね。 慣れるとfunctionの方が型名、変数名といういつものルールに従っているので分かりやすくなります。 運搬性 void Test(){} // 関数ポインタ using ReturnFunction = void (*)(); ReturnFunction Func(){ return Test; } // C++14から以下の書き方もできる auto Func(){ return Test; } // std::function std::functio
このページを最初にブックマークしてみませんか?
『torini.hateblo.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く