2013-01-01から1年間の記事一覧
std::fill でポインタ配列初期化時 #include <vector> int main(void) { Foo* foo[10]; std::fill(foo,foo+10,NULL); } error C2440: '=' : 'const int' から 'xxx' に変換できません。 とエラーが表示されます。NULLの定義は 0 だったので std::fill(foo,foo+10,(Fo</vector>…
Clang is (draft) C++14 feature-complete!言語拡張と標準ライブラリ両方を含め Clang は (draft) C++14 の対応を完了しました
コンテナの要素を回転するアルゴリズムです #include <iostream> #include <vector> #include <algorithm> // std::rotate int main(void) { std::vector<int> v{1,2,3,4,5,6,7}; std::cout << "before: "; for(auto i:v) std::cout << i << " "; std::cout << std::endl; std::rotate(v.begin(</int></algorithm></vector></iostream>…
余分のスペースを削除します*1 #include <iostream> #include <string> #include <algorithm> int main(void) { std::string s = "This is a unique_copy sample!!"; std::cout << "before:" << s << std::endl; auto result = std::unique_copy(s.begin(),s.end(),s.begin(), [](char c1,</algorithm></string></iostream>…
複数の型の値を保存するクラス : std::tuple #include <tuple> #include <string> #include <iostream> int main(void) { std::tuple<int,float,std::string> t(1,2.5,"Hello"); std::cout << "0:" << std::get<0>(t) << std::endl; std::cout << "1:" << std::get<1>(t) << std::endl; std::cout << "2:" << </int,float,std::string></iostream></string></tuple>…
std::transform は 範囲内の要素に関数を適用してくれる機能です4引数バージョン // 小文字 -> 大文字 #include <string> #include <algorithm> #include <iostream> int main() { std::string s("hello"); std::transform(s.begin(), s.end(),s.begin(),toupper); std::cout << s; } HEL</iostream></algorithm></string>…
std::mem_fn はメンバー関数への呼び出し用ラッパーを作成してくれる機能です使い方: #include <functional> class Foo { public: void set(int val){val_=val;} private: int val_; }; int main(void) { Foo foo; auto setter = std::mem_fn(&Foo::set); setter(foo,20)</functional>…
std::ref は 変数への参照tを保持するreference_wrapperオブジェクトを生成する std::cref は const版です #include <functional> #include <iostream> void f(int& n1, int& n2, const int& n3) { std::cout << "In function: " << n1 << ' ' << n2 << ' ' << n3 << std::endl; ++</iostream></functional>…
引数をとらない関数オブジェクトの結果を要素に書き込む #include <vector> #include <iostream> #include <algorithm> int main() { std::vector<int> foo(10); int i = 0; std::generate(foo.begin(),foo.end(),[&]() -> int { return i++; }); std::for_each(foo.begin(),foo.end(),[](int v</int></algorithm></iostream></vector>…
C++11以前 // 単位があいまい height = 3.4; // メートルか?センチメートルか? // 異なる単位の計算(3.4cm * 2.1mmの場合) ratio = (3.4 * 10) / 2.1; より明確定義できるように C++11以降、リテラルにカスタムサフィックスを追加する機能を提供されていま…
std::for_each に ループカウンターを付ける方法を調べて 何種類の実装方法があったが、自分にとって難しかったので、 自分なりにやってみました #include <iostream> #include <string> #include <vector> // ループカウンター付きfor_each template<class InputIterator, class Function> Function for_each_with_index(Inp</class></vector></string></iostream>…
前回を続きまして、 WebPlayerで公開する手順です*1 WebPlayer用ファイル作成手順 プラットフォーム選択 1.[ツールバー] -> [File] -> [Build Settings...] 2.[Web Player] -> [Switch Platform] 3.選択中プラットフォームにはUnityのアイコンが表示されます…
前回を続きまして、 テキストを表示します*1 概要 回収したアイテム数表示 目標達成表示 以上項目を画面に表示します 回収したアイテム数表示 GUIText配置 1.[ツールバー] -> [GameObject] -> [Create Other] -> [GUI Text] 名前:Count Text 2.画面の左上に…
前回を続きまして、 アイテムと衝突判定を作成します*1 スクリプト拡張 プレイヤー視点から拡張します [PlayerController]に以下のコードを追加します // PlayerController.cs // [trigger]と接触開始時に呼ばれます void OnTriggerEnter(Collider other) { …
前回を続きまして、 壁やアイテムを作成します*1 壁配置 1.左辺 [ツールバー] -> [GameObject] -> [Create Other] -> [Cube] 名前:West Wall 設定:Position(-10,0,0) Scale(0.5,2,20.5) 2.右辺 [West Wall]を複製(Ctrl+D)する 名前:East Wall 設定:Position(…
前回を続きまして、 カメラ移動*1を進みたいと思います 今回概要 追尾カメラの実装 カメラ設定 まず、プレイヤーを見やすいように設定します 1.[Main Camera] を選択 2.[Inspector] -> [Transform] のパラメータ設定 追尾カメラ実装方法1 プレイヤーの入子…
前回を続きまして、 プレイヤー移動を進みたいと思います 今回概要 物理法則適用 入力適用 物理法則の適用:Rigidbody【リジッドボディ】*1 Rigidbodyの適用方法 ①ターゲット選択 [Hierarchy]に[Player]を選択します ② [Inspector] -> [Add Component] -> [P…
Unityを使いこなしたいのでチュートリアルをやってみよう Project#00:Roll-a-Ball*1 はじめに ゲーム設定 プレイヤー移動 カメラ移動 収集アイテムの作成 テキストの表示 ゲーム公開 はじめに*2 Unityの基礎を知るためのチュートリアルです ゲームオブジェク…
メモメモ #include <iostream> #include <functional> class Foo { public: Foo():m_val(0){} ~Foo(){} void setVal(int val){m_val=val;} int getVal(void){return m_val;} private: int m_val; }; void main() { Foo foo; auto func = std::bind(&Foo::setVal,&foo,10); // setVa</functional></iostream>…
挑戦中・・ https://codeiq.jp/ace/keigo_ando/q471 7問目から進まない・・
ところでMonoDevelopを起動しようとすると "MonoDevelop failed to start."のエラーが表示されてしまった。 unityAnswersに解決方法があったので転載します http://answers.unity3d.com/questions/534908/monodevelop-failed-to-start.html ①glibsharpglue-2…
杏仁と申します 日々勉強したことをアウトプットするために ブログをはじめました