HackerTrans
トップ新着トレンドコメント過去質問紹介求人

martijntje

no profile record

コメント

martijntje
·2 年前·議論
If I read that paper correctly, that's only valid if the object can be constructed without code being run - i.e. a trivially constructible type.

Since there is no limitation on the no_destroy type, you can create any type with it, including those which have a non-trivial constructor. Of course, you could use a concept to restrain it to only trivially constructible types, or you could omit the launder in an if constexpr branch and still be compliant.
martijntje
·2 年前·議論
It's interesting to see that the complexity of c++ is so great that even the code in standards proposals contains undefined behaviour. The no_destroy class triggers UB when .get() is called, because it fails to launder the returned pointer. This is required since c++17.
martijntje
·2 年前·議論
If you don't care about watermarks, you can try out Resolume for free indefinitely.