-4
我創建了一個堆棧,然後使用memcpy我將堆棧複製到緩衝區。後來我嘗試使用緩衝區創建堆棧對象。但我正在閱讀訪問衝突。STL堆棧:讀取訪問衝突
請參閱下面的代碼,可能會更好地解釋情況。
Byte *targetdata;
class DATA
{
std::stack<int> scatter;
}data;
...
...
memcpy(targetdata, &data, sizeof(DATA));
...
...
{
DATA data2;
memcpy(&data2, targetdata, sizeof(DATA));
}// Get a read access violation here.
'sizeof(DATA)'不會產生您的想法。 –
C++有複製和移動語義,你不應該'memcopy'類。 –