2013. Do library implementers have the freedom to add constexpr?

0
プププランドのプリンス RiSK @sscrisk

"C++標準ライブラリの非常に劣った実装が規格によって強制される - ボレロ村上 - ENiyGmaA Code" http://t.co/GAaN8QyUfn

2013-10-22 17:51:10
プププランドのプリンス RiSK @sscrisk

これって事実上、「constexprは、コンパイル時と実行時におけるいいとこどり」が失敗だったことを表してるよね…。

2013-10-22 17:52:17
プププランドのプリンス RiSK @sscrisk

「いいとこどりだけ」であるならば、constexprをいくらつけようが関係ないはず。悪いところ・欠点があるから、勝手につけちゃいけないんでしょ?

2013-10-22 17:53:29
プププランドのプリンス RiSK @sscrisk

結局、constexpr に特化とは、兼用に特化ではなく、コンパイル時に特化ということになるわけで…。「Sprout 使うべき」という結論には当然なるわけだけど…。

2013-10-22 17:54:48
プププランドのプリンス RiSK @sscrisk

そうなると、実行時にも使えることが足を引っ張るだけになるんだよな…。constexpr…

2013-10-22 17:55:45
プププランドのプリンス RiSK @sscrisk

最初から、Dのpure的なポジションだったらよかったのに。馬鹿みたい。

2013-10-22 17:56:39
GP @cifar10

コンパイル時なのか実行時なのかを検出する事が出来て、実装をそのタイミングで切り替えるような事が出来れば良いのだろうな

2013-10-22 17:58:15
プププランドのプリンス RiSK @sscrisk

標準ライブラリでconstexpr指定してた実装は、今後徐々にconstexprを外すんだろうか…。C++14に準拠しないとしても、付けたままにするんだろうか…。

2013-10-22 17:59:12
プププランドのプリンス RiSK @sscrisk

@fimbul11 確かにそうですし、前から(一部の人には)必要とされてきました。しかし、仮にそういう機能が導入されたら「兼用」という設計がまずかったの事の表れにもなりますね。

2013-10-22 18:00:42
プププランドのプリンス RiSK @sscrisk

しっかし、なんでconstexprつけちゃダメなんだろう?そこが知りたい。

2013-10-22 18:01:42
プププランドのプリンス RiSK @sscrisk

暗黙の inline あたりがまずいのか?

2013-10-22 18:02:14
狂える中3女子ボレロ村上/陶芸C++er @bolero_MURAKAMI

@sscrisk inline は標準ライブラリで勝手につけたり好き放題ですし今更という感じでは

2013-10-22 18:03:50
プププランドのプリンス RiSK @sscrisk

@bolero_MURAKAMI そっかー…。リンケージ回りとか何かあるのかなとも思ったのですが…。想像はいくら並べても事実にはなりませんね…。

2013-10-22 18:05:30
kentn @kentdotn

constexprを勝手につけちゃいけないとしたら、例えば最適化とかでconstexprと同じコードが生成されるのも許されないのであらうか。

2013-10-22 18:06:42
GP @cifar10

@sscrisk 兼用出来るようなものもありますが、全て兼用出来るなんて考えは夢物語…という話ですね。

2013-10-22 18:07:08
プププランドのプリンス RiSK @sscrisk

constexpr is deprecated だけだったら発狂してC++erやめる。他の良いものが同時に出るなら、また楽しくなる。

2013-10-22 18:09:07
狂える中3女子ボレロ村上/陶芸C++er @bolero_MURAKAMI

シャウト失礼します。 _人人人人人人人人人人人人人人人人人_ > それでも私はconstexprを続けるよ <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄ シャウト失礼しました。

2013-10-22 18:17:10
プププランドのプリンス RiSK @sscrisk

いまだ Sprout で constexpr 化されてないライブラリってあるの?

2013-10-22 18:22:10