![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.2ベストアンサー
- 回答日時:
可能です。
class の有無とは無関係です。(C++ では struct も class の一種でほぼ同じものです)
念のため補足するなら、言語規格上メモリ確保に失敗すると std::bac_alloc 例外が発生するので、どこかでこれを catch してあげてください。
# 古いコンパイラはともかく、きょうびのコンパイラは
# kouzoutai1 の NULL チェックなどをする前に例外が起きますので、
# catch していないと実行時エラーでプログラムが落ちます。
ご回答どうもありがとうございます。
元々Cで書かれていたソースを
C++にしたのですが
mallocよりもnewを使ったほうが安全だということで
(いくつかのC++の参考書などにC++ではmallocではなくnewを
使用すべきとあったので・・・)
newを使ったのですが今ひとつ自信がもてなかったもので
質問させていただきました。
どうもありがとうございました。
No.3
- 回答日時:
#2です。
class とかの場合とか、malloc はコンストラクタが呼ばれない(自分で配置newが必要)などの問題がでますが、提示の例ではそのあたりの問題はなく。
キャストのない型保証などがnewの有利な点ですね。
既に書きましたが、new の失敗はCのようなNULLチェックができないことが注意でしょうか。
try{
.....確保など
}catch(std::bad_alloc& x)
{
// メモリ確保に失敗するとここに来る。
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# プログラムが書けません。 4 2023/01/22 22:57
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# C言語で構造体の参照渡しができません 2 2022/12/18 21:22
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c言語のポインタへの文字列入力...
-
sprintf()の使い方について
-
入れ子になった構造体について
-
malloc呼び出し時のセグメンテ...
-
プログラムが途中で強制終了し...
-
newでrealloc?
-
free関数で動作が止まる
-
fread関数および動的なメモリ確...
-
allocってなんですか?
-
malloc()関数内でセングメント...
-
仮想メモリでない環境でのmallo...
-
char*型が0x0を含む場合
-
Win32APIでのメモリ管理について
-
LPTSTR型の変数に文字を格納
-
構造体を使ったファイルの読み込み
-
アセンブラでのメモリの動的確...
-
stringの最大サイズ
-
win32APIのHeapAlloc()の使い方...
-
ビットをローテートするプログ...
-
#include <stdio.h> int main(v...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c言語のポインタへの文字列入力...
-
mallocについて
-
newしないオブジェクトについて
-
allocってなんですか?
-
配列の添え字の最大数とは?
-
ヒープメモリの解放について
-
プログラムが途中で強制終了し...
-
Accessで、メモリを開放するタ...
-
malloc呼び出し時のセグメンテ...
-
ビットをローテートするプログ...
-
C++で、メンバもヒープに確保さ...
-
void*型のデータサイズ
-
入れ子になった構造体について
-
C言語に関する質問
-
スタック破壊の上手な見つけ方...
-
mallocで確保するメモリの領域...
-
C++のnewで確保したメモリーの...
-
指定したメモリアドレスの値の...
-
ヒープ領域の限界値設定
-
構造体でchar name[]と*nameの...
おすすめ情報