c++问题
c吧
全部回复
仅看楼主
level 1
95岁高龄打野
楼主
请各位哥解释一下这段代码,为什么用memset函数清空后,无法正确对变量的name赋值?
2023年08月07日 02点08分
1
level 11
星玥灬
成员变量string不是基本类型,不能用memset
2023年08月07日 04点08分
2
level 12
mathtimes
有没有一种可能,string在堆上。你的结构体,一半在栈上,一半在堆上
2023年08月07日 10点08分
3
level 7
贴吧用户_7XDNQ1G
成员变量string不是基本类型,不能用memset
2023年08月21日 22点08分
5
level 10
yjf_victor
从C++标准上说,只有“极简”(trivial)的类(也就是与C语言兼容的结构体),才能使用 memset 。否则是未定义行为,会破坏类的结构。你这里面有 string ,就不是“极简”类了。
从技术上说,你对 string 进行的 memset ,是破坏了 string 类的构造函数所做的工作,所以 string 就不能正常使用了。
2023年09月05日 05点09分
7
1