次の型キャストを C++ スタイルに変換したいと考えています。これを行う最善の方法は何ですか?
MemDigest *pMemDigestArray = (MemDigest *)calloc(numUniqueTypes, sizeof(*pMemDigestArray));
次の型キャストを C++ スタイルに変換したいと考えています。これを行う最善の方法は何ですか?
MemDigest *pMemDigestArray = (MemDigest *)calloc(numUniqueTypes, sizeof(*pMemDigestArray));
このような:
#include <vector>
std::vector<MemDigest> v(numUniqueTypes);
「これは C++ とは何ですか?」という質問をよく耳にします。これ:
マニュアルメモリとライフタイム管理の不在
生ポインタの不在
例外的な安全性
実行時にコンテナのサイズを変更するのは簡単
初期化されていない状態を回避する (POD クラスの値を初期化することにより)
vector
は良い方法ですが、これはまだ「c++スタイル」である、より直接的な等価物です:
std::unique_ptr<MemDigest[]> pMemDigestArray(new MemDigest[numUniqueTypes]);