我試圖做這樣的事情在我的Obj
類:分配空指針
public:
template <typename T>
Obj(T & o) {
siz = sizeof(o);
p = malloc(siz);
memcpy(p, &o, siz);
}
private:
void * p;
size_t siz;
,如果我這樣做這工作正常:
string str = "foobar";
Obj u = Obj(str);
但如果我這樣做:
Obj u = Obj(string("foobar"));
這會導致字符串填充隨機字符。
中檢索我使用的字符串:
string S() {
return *((string *)p);
}
任何想法?
_I'm試圖做這樣的事情_你爲什麼試圖這樣做?無論你想要做什麼,都可能有更好的方法。 –
此代碼的每一行看起來像一個可怕的噩夢。你真的想要達到什麼目標? –
提示:memcpy不屬於C++代碼 –