Akira Takahashi

Results 49 comments of Akira Takahashi

@hotwatermorning hotさんを担当にしておきましたー。

時期的にも、C++20にバックポートされるかどうか判断がむずかしいですね…。コンパイラのC++20実装もリリースされてきてますし…。

> 本Wikiページには、Editor's Reportに記載され、仕様 (草案) に取り込まれた機能の一覧および、それらへの本サイトの対応状況を記載する。 > Defect Report (issue) については、過去の言語バージョンに遡って適用されることがある。これは、仕様の欠陥が判明したらコンパイラは次の言語バージョンを待たずに早期に対応するためである。次期言語のFDIS (Final Draft International Standard) が発行されたあとから、各機能がコンパイラから正式リリースされるまでに判明した欠陥への対応は、本サイトでは過去バージョンに遡って適用されると考える。 こんな感じでどうでしょう。今後の言語の策定体制によって方針は変わるかもしれないので、ひとまず各言語バージョンのWikiに個別に上記文章を書いておくのでどうでしょうか。

最近 (C++23 → C++20) の過去バージョンに遡って適用する動きについては @onihusube さんの方がくわしいかと思いますので、補足や指摘などあればお願いしたいです。

だいぶ返信が滞ってしまっていますが、どうまとめようか長いこと悩み中です。

そうですね。 DRはもう、基本はC++23の機能ということにしておいて、「過去の言語バージョン対応のコンパイラですでに実装されている可能性がある」としておくのがいいかもしれません。 formatとか以外は。formatとかは例外事項として項目を作ってC++20扱いとする、というのをC++23 Wikiに書いておいていい気がします。

ありがとうございます!助かります。

Visual Studioでは`constexpr vector`とかが使えるようになっているらしく、Compiler Explorerで試せるようなので、試しながらリファレンスを書いていきます。 https://www.cppstories.com/2021/constexpr-vecstr-cpp20/

わからないのでstd-discussionに質問を投げてみました。 https://lists.isocpp.org/std-discussion/2020/12/0932.php

なるほど。 `template void f(T a, T b);`だと`f(4.2, 1);`でどちらの型に合わせればいいかわからなくて曖昧になるけど、`template void f(T a, type_identity_t b);`だと第1引数の型に推論される、と。