2014-02-26 74 views
0

而不是做這個的釋放calloc的:如何縮短std :: vector?

TCHAR *sText = (TCHAR *) calloc(1024, sizeof(TCHAR));

我有這個在我的C頂部++文件:

#define tcalloc(nCharacters) (TCHAR*)calloc(nCharacters,sizeof(TCHAR))

,所以我可以更容易地編寫這樣的:

TCHAR *sText = tcalloc(1024);

現在,我該如何爲我的std :: vector語句做一個簡寫?這是我的代碼:

std::vector <TCHAR>sText(1024,0);

回答

1

也許

typedef std::vector<TCHAR> tcVec; 
#define init_1k_charVector tcVec(1024,0) 
int main(int, char**) 
{ 
    tcVec sText(1024,0); 
    tcVec sText2 = init_1k_charVector; 
    ... 
} 
+0

好了,現在我怎麼沒放」 0' ,並將它初始化爲零? – JeffR

+1

我個人不會'隱藏'這個事實。在某些時候它可能會很方便,但在其他方面它可能會令人困惑。我編輯答案以防萬一;) – Zaiborg