2014-04-01から1ヶ月間の記事一覧

const 参照と右辺値参照と一時オブジェクトの寿命、あとforward_as_tupleとか

C++

一時オブジェクトとはこれである x+y; Type(); 要するに変数に関連付けられていないオブジェクトのことであるこいつ等の寿命は式が終わるまで、つまりセミコロンが出てくるまでである void f(const std::string&s); //main //fを処理する段階ではまだ生きて…

二項演算子をクラス内でオーバーロードしたテンプレートクラスをテンプレート関数で返してdecltype内で演算すると C2677 エラーが起きて最高に意味不明

template<class> struct rhs { friend int operator*(int x, rhs){ return 2; } }; template<class T> rhs<T> make(T){ return rhs<T>(); } using R = decltype(42 * make(42)); int main(){} 自身が右辺に来る二項演算子を クラス内でオーバーロードした テンプレートクラスを テ</t></t></class></class>…