[英]calloc c-style pointer casting to c++ casting style
我想將以下類型轉換轉換為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]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.