C++

構造体をカンタンに初期化する方法

C++

C言語やC++で構造体を使う場合、構造体の中にたくさんのが定義されすぎてて初期化が面倒という場面はないだろうか。例えば以下のような型の構造体がある場合、 なにも考えずに普通に初期化しようとすると変数の数だけ初期化処理を書かなきゃいけない。 struc…

std::getとは何?使い方も一緒に

C++

C++のコードを読んでいたところ以下のようなコードを目にした。 bool status = std::get<1>(datainfo); std::getという構文自体を目にしたことが無かったので自分はこの意味が全く分からなかった。 いろいろ調べてみると、Tupleのデータを取り出す時に使う構…

std::bindを使うと関数の引数を自由にコントロールできる

C++

相変わらずC++の勉強を続けているが、本日新たにstd::bindというものを目にした。 昔はなかった気がしたので調べてみるとC++11で追加された機能らしい。 std::bindとは 一言でカンタンに言うと関数の引数を束縛する機能。 例えば引数がA,B,Cと3つあるような…

WindowsでMinGWを使ったC++コンパイル環境構築手順

C++

WindowsPCにC++のコンパイル環境を作ったので手順をまとめておく。WindowsのC++コンパイル環境というとVisualStudioが有名だが、 今回は別のVisualStudioではなくMinGWを使いg++のコンパイラをインストールし環境をつくる。 手順①:ダウンロード まずは以下…

テンプレートの実装はヘッダに書かないといけない

C++

ここ10年ほどC++から離れていたので最近学びなおしをしている。C++にはテンプレートという機能があるが、 これを学びなおすべくテスト用のクラスをテンプレートを使い実装してみた。 // Hoge.h template <class T> class Hoge { private: T m_hoge; public: T GetHoge</class>…