template<>
class CalcHashClass<const char*> {
public:
CalcHashClass(const char* v) {
_v = new char[strlen(v) + 1];
strcpy(_v,v);
}
~CalcHashClass() {
delete [] _v;
}
int hashCode() {
printf("This is 'template <> class CalcHashClass<const char*>'.\n");
int len = strlen(_v);
int code = 0;
for (int i = 0; i < len; ++i)
code += (int)_v[i];
return code;
}
private:
char* _v;
};
對於上面的代碼,我不確定什麼delete [] _v;
是什麼意思? 在我的理解中,_v是一個指針。並刪除它應該使用delet _v
,我說得對嗎? []
是什麼意思?'delete [] _v''是什麼意思?
這意味着'_v'是一個數組。你也可以在'new'語句中看到'['和']'。 – 2013-03-20 14:40:21
我不確定如果你還沒有了解原始數組和成員變量,你甚至不知道如何進行模板專業化。 – dchhetri 2013-03-20 14:43:15