C++11

最終更新日12 Aug 2017 07:39

配列走査系便利機能

all_of 全要素の条件チェック
none_of
any_of
shuffle

#include <algorithm>
#include <iostream>
//すべての要素がゼロかどうか☑
bool allzero = std::all_of(lUVs.begin(), lUVs.end(), [](float i) { return i== 0.0; });
std::cout << "allzero? = " << allzero << std::endl;

固定長配列クラスstd::array

コピーコンストラクタ、デストラクタ、operator=を書かなくてもいい

自分で定義した関数で今までは
コピーコンストラクタを書かないと

Class c=x;

がうまくいかないし
operator=を書かないと
Class c;
c=c;

がうまくいかない

しかしc++11ではstd::moveを使って代入、定義すれば大丈夫なのだ

Class c=std::move(x);

変数のアドレスはそのままで変数の名前だけ変えることのできるような機能ぽい
デストラクタなどVisual Studioのクラスウィザードでクラス作ると自動生成されちゃうけどそれがあるとこのc++11の機能が無効化されるので注意

めんどくさい継承コードは不要

今までC++でオブジェクト継承すると色々書かないと思ったように動かなくてめんどくさかったです。
しかし、C++11では

using 親クラス名::コンストラクタ名;

と書くと子クラスのコンストラクタは自動で作られたことになる!
1より

リンク


ファイル

サポートサイト Wikidot.com