2017-05-23 15 views
0

Iは、C++におけるこの動的割り当て

string *codes = (string*)malloc(256*sizeof(string)); 
codes[0] = ""; 

を試みました。しかし、それは動作しませんでしたが、私が試したときに

string *codes = new string[256]; 
codes[0] = ""; 

これは働いた。 なぜこれが起こっているのかの基本的な考え方を理解できませんでした。誰かが教えてくれますか?

おかげ

+0

std :: vectorを使用> –

答えて

3

newは(あなたの場合:std::string)指定されたクラスのコンストラクタを使用するためですとmalloc()はこれを行いません。

関連する問題