次の構造のコードがあります。
aaa::bbb<ccc>
ccc::func_name(type1 arg1, type2 arg2)
{
something1;
aaa::bbb<ccc> obj_name(variable);
something2;
}
関数テンプレートに似ていますが、関数テンプレートでtemplate <class class_name>
はメソッドの前に置く必要があります。
aaa::bbb<ccc>
の戻り値の型ですccc::func_name()
。
次のような意味です。
std::vector<Point>
Point::func_name(type1 arg1, type2 arg2)
{
something1;
std::vector<Point> obj_name(variable);
something2;
}
これは、たまたまテンプレート クラスのインスタンスである別のオブジェクトを返すメソッドの通常の宣言です。誰かが明らかにそれがより読みやすいと思った
std::vector<Point> Point::func_name(type1 arg1, type2 arg2) {...}
これはまったく同じことを意味します