C++相談室 part166 (569レス)
C++相談室 part166 http://mevius.5ch.net/test/read.cgi/tech/1745631298/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
22: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6332-x8bn) [sage] 2025/05/06(火) 13:42:19.73 ID:SvTeM3j90 >>21 関数名の前に auto を書くと仮引数の後ろに返却値の型を書けるようになる。 つまり -> から { までのところに書いてるのが返却値の型。 従来の書き方では関数の仮引数を返却値の型を決定する文脈では使えないというルールがある。 たとえば template<class T> decltype(e) foo(const T& e) {return e;} というようなことは出来ない。 ここで e を参照することは出来ない。 後置では返却値の型を書くところで仮引数を使ってかまわない。 template<class T> auto bar(const T& e) -> decltype(e) {return e;} ってのはアリ。 この場合の auto は返却値の型を後置するというマークってことね。 後置にする必要がなくても後置で一貫させてるプロジェクトもたぶん結構ある。 auto がこのような用途で使えるようになったのは C++11 からなのでもう結構浸透してると思うんだけど、全く見たことないの? !! は ! をふたつ並べてるだけ。 bool にキャストする代わりに使うイディオムなんだけど見づらいからやめたほうがよいという人も多い。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/22
23: デフォルトの名無しさん (ワッチョイ a701-uYIY) [sage] 2025/05/06(火) 14:29:32.39 ID:tCHDdC6b0 >>22 解説を有難うございます 返り値を後置する記法のアドバンテージが分かりました >>18は返り値を後置にしてるけどもこれは必須ではないということね !!も分かりました(g++-12はなしで通ります) http://mevius.5ch.net/test/read.cgi/tech/1745631298/23
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.031s