2014-02-26 2 views
0

대신은 calloc을 위해이 일을 :std :: vector를 단축하는 방법?

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

그래서 좀 더 쉽게 쓸 수 있습니다 :

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

내 C의 상단 ++ 파일이이

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'에 두지 않고는 0으로 초기화 한? – JeffR

+1

나는 개인적으로이 사실을 '숨길'것이라고하지 않았다. 어떤 점에서 그것은 convinient 할지도 모른다, 다른 어떤 점에서 그것은 혼란 스러울지도 모른다. 나는 회답을 편집한다.) – Zaiborg

관련 문제