1

次の型キャストを C++ スタイルに変換したいと考えています。これを行う最善の方法は何ですか?

MemDigest *pMemDigestArray = (MemDigest *)calloc(numUniqueTypes, sizeof(*pMemDigestArray));
4

2 に答える 2

5

このような:

#include <vector>

std::vector<MemDigest> v(numUniqueTypes);


「これは C++ とは何ですか?」という質問をよく耳にします。これ:

  • マニュアルメモリとライフタイム管理の不在

  • 生ポインタの不在

  • 例外的な安全性

  • 実行時にコンテナのサイズを変更するのは簡単

  • 初期化されていない状態を回避する (POD クラスの値を初期化することにより)

于 2013-02-11T22:40:52.380 に答える
0

vectorは良い方法ですが、これはまだ「c++スタイル」である、より直接的な等価物です:

std::unique_ptr<MemDigest[]> pMemDigestArray(new MemDigest[numUniqueTypes]);
于 2013-02-11T22:47:11.463 に答える