Akira Takahashi

Results 49 comments of Akira Takahashi

`polymorphic_allocator`の例は、`mem_res`引数から直接推論されてしまうと`vector`になってしまうけど、意図としては`mem_res`を与えても`vector`に推論されてほしいというもののようです。 コンストラクタの第2引数になにが渡されようとも、クラステンプレートの第2テンプレートパラメータの型はすでに確定しているからコンストラクタ引数から推論はされず、`mem_res`は`polymorphic_allocator`型の変換コンストラクタの引数として扱われる、と。 ```cpp #include #include #include template class my_vector { public: my_vector(std::initializer_list, Allocator) {} }; template using my_pmr_vector = my_vector; // コンストラクタが、 // my_vector(std::initializer_list, Allocator) {} // こうなって、 // my_vector(std::initializer_list,...

``` template using my_pmr_vector = my_vector; ``` `type_identity_t`を通さない場合は、コンストラクタ引数`{1, 2, 3}, mem_res`を渡したいずれのコンストラクタ・推論ガイドの結果も`my_vector;`型を導出しないので、曖昧になって推論失敗になるようです。

前例はvectorでした。 https://cpprefjp.github.io/reference/vector/vector/op_constructor.html

正しい説明を @yohhoy さんが把握しているのであれば、 @yohhoy さんが修正されるのがよいかと思いますが、可能でしょうか。現在の説明は大きく変えていただいてかまわないのと、必要であれば全て削除して書き直していただいてもかまいません。 ※ おそらく、私はこのサイトで2,000ページ近く書いてると思いますが、それらページの全ての問題報告に私が直接修正することはできないので、今回のことに限らず、そのような報告があった場合、可能であればページ執筆者以外もご協力いただけると助かります。 ※ ちなみに私はいま、サイトの利便性向上のため、全てのページのコードブロック中の識別子にリンクを付ける作業をしています。この作業は数ヶ月かかる見込みです。

N3653とCWG DR1270を混同していたようです。記事タイトルの意図としては、N3653の方でした。 加筆作業お願いします。

FYI : コンパイラ組み込み命令ですが、libstdc++には実装が入ったようです。 https://github.com/gcc-mirror/gcc/commit/4fa6c0ec350bb4a8dd52a7c6f9881ab427151588#diff-a4bd2d247ac4822d33b3427337810e6b4e7b461f21c8e60223d242b87865db22

ちょっとバタバタしていて、まだ考えられてないです。数日お待ちを。

ISSUE_TEMPLATEの運用についてこれから調べますが、とりあえず懸念しているのは「この雛形(注意事項)は、報告するときは消してね」みたいなのが文化的にどうなってるのか、どうするのがいいかは考えたほうがいいなー、というとこです。

注意事項は、HTMLコメントにしておいて、報告するときは見えるけど、投稿したら見えなくなる、というのがよさそうです。 - [オレオレ GitHub Issue テンプレートを晒す - ほとラボ](http://blog.hotolab.net/entry/github_template) これなら、ISSUE_TEMPLATE.mdに書くので問題ないと思います。