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言語のポインタへの文字列入力...
-
mallocについて
-
newしないオブジェクトについて
-
C言語 mallocとfreeについて
-
スタック破壊の上手な見つけ方...
-
入れ子になった構造体について
-
allocってなんですか?
-
C++のnewで確保したメモリーの...
-
DLLで同じメモリ領域を参照する...
-
デストラクタを呼びたい
-
行列内の行の交換,列の交換を...
-
64ビットと32ビットの違い
-
HEAP に関すること
-
配列の添え字の最大数とは?
-
C++で、メンバもヒープに確保さ...
-
ビットをローテートするプログ...
-
メモリ不足になってしまう。
-
OpenCV cvLoadImageについて
-
構造体でchar name[]と*nameの...
-
malloc呼び出し時のセグメンテ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
mallocについて
-
c言語のポインタへの文字列入力...
-
allocってなんですか?
-
newしないオブジェクトについて
-
ヒープメモリの解放について
-
C++で、メンバもヒープに確保さ...
-
MSDNがgethostbynameではなくge...
-
プログラムが途中で強制終了し...
-
配列の添え字の最大数とは?
-
Accessで、メモリを開放するタ...
-
ヒープ領域の限界値設定
-
malloc呼び出し時のセグメンテ...
-
スタック破壊の上手な見つけ方...
-
C言語 mallocとfreeについて
-
指定したメモリアドレスの値の...
-
stringの最大サイズ
-
16進ダンプのプログラム
-
64ビットと32ビットの違い
-
入れ子になった構造体について
-
free関数で動作が止まる
おすすめ情報