含有string的結構體使用memset()函數報錯如下:
字符串中的字符無效
分析:
string不能使用memset或者memcpy這些低級函數。如果正好工作,那是你比較幸運。c++規定,除了trivially copyable類型可以使用memcpy函數外,其他類型是未定義行爲。你new完後string的構造函數已經調用完畢,你再memset就破壞了他的內部數據不變式。
含有string的結構體使用memset()函數報錯如下:
字符串中的字符無效
分析:
string不能使用memset或者memcpy這些低級函數。如果正好工作,那是你比較幸運。c++規定,除了trivially copyable類型可以使用memcpy函數外,其他類型是未定義行爲。你new完後string的構造函數已經調用完畢,你再memset就破壞了他的內部數據不變式。