掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
char型をnewしたあと初期化するには? (ID:68093)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> C++なのですが、char型の200個文の配列をnewしたあと、 > その領域を0初期化したいのですが、 > どうすればよいでしょうか? 0に設定したいなら,std::fill_nあたりが普通かと。 まぁ,charならmemsetでもよいですが……。 # 0初期化→確保したオブジェクト全てに0を設定したいと読み替えました。 基本的に,配列へ値を設定するにはmemsetではなくstd::fillやstd::fill_nといったものを使うようにするのがよいです。 > また、デフォルトコンストラクタで適切にメンバ変数を > 初期化していないクラスがあったとして、 > そのクラスを強制的に初期化する際にもmemsetを使ってよいものでしょうか? それは「初期化」とは呼びません。 それはともかく,PODならmemset使ってもよいですが,そうでないならmemsetはまずいです。 コンストラクタで正しく初期化する事をお勧めします。 > class A{ > int i; > }; class A { int i; public: A(int iVal = 0) : i(iVal) {} };
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.