[解決済み] C++における不正なアロケーションの例外
2022-02-10 16:10:21
質問
私の学校の課題で、"SONY "を使わないでプログラムを作るように言われました。 STL
プログラムの中で、私は多くの
Pointer* = new Something;
if (Pointer == NULL) throw AllocationError();
アロケーションエラーについて質問です。
-
があるのでしょうか?
自動例外
投げやり
new
アロケーションに失敗したら? -
を使用していない場合、どのようにそれをキャッチすることができますか?
STL
(
#include "exception.h"
)? -
でございます
NULL
テストは十分ですか?
ありがとうございました。
使用しているのは
eclipseCDT(C++)
と
MinGW
について
Windows 7
.
解決方法は?
はい、メモリを確保できない場合、newオペレータは自動的に例外をスローします。
コンパイラが何らかの方法で無効化しない限り、new 演算子が NULL ポインタを返すことはありません。
を投げます。
bad_alloc
例外が発生します。
また
nothrow
のバージョンで使用することができます。
int *p = new(nothrow) int(3);
このバージョンでは、メモリが確保できない場合はヌルポインタを返します。しかし、これは100%の
nothrow
なぜなら、オブジェクトのコンストラクタはまだ例外を投げることができるからです。
もう少し情報を。 http://msdn.microsoft.com/en-us/library/stxdwfae(VS.71).aspx
関連
-
[解決済み】getline()が何らかの入力の後に使用されると動作しない 【重複あり
-
[解決済み] 複数の例外を1行でキャッチする(ブロックを除く)
-
[解決済み] using namespace std;」はなぜバッドプラクティスだと言われるのですか?
-
[解決済み] 複数の例外を一度にキャッチする?
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] 例外を正しく無視する方法
-
[解決済み] 複数のJava例外を同じcatch節でキャッチすることはできますか?
-
[解決済み] Javaにおけるチェック済み例外とチェックされていない例外の理解
-
[解決済み] Javaにおける例外処理によるパフォーマンスへの影響とは?
-
[解決済み】Exceptionを投げるとき、どの部分が高価なのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 unsigned int vs. size_t
-
[解決済み】非静的メンバ関数への参照を呼び出す必要がある
-
[解決済み】C++でランダムな2倍数を生成する
-
[解決済み】「corrupted size vs. prev_size」glibc エラーを理解する。
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み】'cout'は型名ではない
-
[解決済み] 非常に基本的なC++プログラムの問題 - バイナリ式への無効なオペランド
-
[解決済み】fpermissiveフラグは何をするのですか?
-
[解決済み】C++の余分な資格エラー
-
[解決済み] 変数サイズのオブジェクトが初期化されないことがある c++