問題タブ [nothrow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
193 参照

c++ - デストラクタに nothrow 例外指定子を指定するには?

nothrowのデストラクタがFooスローされないときはいつでも関数があることを指定しようとしています。型特性を使用してこれを行うことができますstd::is_nothrow_destructible<>。これを直接行うにはどうすればよいですか?次のことを試しましたが、コメント行のコメントを外すとコンパイルされません

エラーが発生する

エラー指定子noexcept(noexcept(~Foo()))は OK ではありませんが、コンストラクターには を使用できますnoexcept(noexcept(Foo()))。ここにいくつかの明らかな構文がありませんか?

0 投票する
2 に答える
92 参照

c++ - 演算子 new を使用した C++ メモリ割り当て: 割り当てエラーを検出して処理する方法は何ですか?

以前のプログラムでは、次のコードを使用して、通常は代替案を考えずに、メモリ割り当ての失敗をチェックしました。

この方法については、こちらにも記載されています。

ここで構文のリファレンスを見つけました:

nothrowプログラマーがnew への「引数」を含めない場合、チェックnullptrが無効になることを示唆していますか? これは正しいです?それともOS依存?

私が理解しているように、これに関連するオーバーヘッドのために、実際にブロックから回復できない限りnew、ブロックを配置してもほとんど意味がありません。try-catchこれも正しいですか?

0 投票する
1 に答える
261 参照

c++ - operator++() notrow はコンパイルされません

operator++() を非スローにできないのはなぜですか?

これは、後置 ++ 演算子 (前置 ++ 演算子よりも) を使用する数少ない利点の 1 つです。

たとえば、このコードはコンパイルされません

余談ですが、後置演算子もスレッドセーフにすることができます。

0 投票する
1 に答える
70 参照

c++ - std:variant の operator=(T&& t) の noexcept 仕様が内部型のデストラクタの noexcept 仕様に依存しないのはなぜですか?

長いタイトル:の noexcept 指定が内部型のデストラクタの noexcept 指定に依存しないのはstd:variantなぜですか?operator=(T&& t)

私はcppreferenceでそれを見ることができます

したがって、これはコンパイルされます:

しかし、次FooThrowのデストラクタを呼び出しnoexcept(false)ます。

正しくないようです。何か不足していますか?