2014-04-06から1日間の記事一覧

template classのfriend関数をクラス内部で実装する

C++

テンプレートクラスを作成し、その演算子などを非メンバ関数で定義する場合 往々にして、friend関数にする場合が多いと思います これが厄介で、まずテンプレートクラスの前方宣言をします その後にテンプレート関数として目的のfriend関数を前方宣言します …

const参照引数

以下の関数呼び出しはコンパイルエラーにも実行時エラーにもなりません template<typename T> T add(const T& x,const T& y) { return x+y; } int main() { auto a = add(10,11); //rvalue渡し } lvalue引数にrvalueを渡しているのだから エラーになりそうなものですが T</typename>…