スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

C++0xで、関数の戻り値の型を2回書かずに済む方法

戻り値の型がメタ関数とかの結果で、そのまま書くとすごく長いことがある。

template<typename T>
typename hogehoge<typename piyopiyo<T>::result_type>::type
some_function(T const& x) {
  return typename hogehoge<typename piyopiyo<T>::result_type>::type(x); // 同じ型名を書いている
}

decltypeを使えば1回で済む。

template<typename T>
typename hogehoge<typename piyopiyo<T>::result_type>::type
some_function(T const& x) {
  return decltype(some_function(x))(x);
}
スポンサーサイト

テーマ : プログラミング | ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

minoki

Author:minoki
好きなプログラミング言語:
Haskell,Lua
GitHubアカウント
Twitter

最新記事
月別アーカイブ
カテゴリ
検索フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。