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
、私は正しいですか?どういう[]
意味ですか?