c++ - 块范围内的 C++ 变量分段错误
问题描述
struct st{
string name;
};
int main() {
st s1[10];
{
st s2[10];
for (int i = 0; i < 10; i++) {
s2[i].name = "name";
}
memcpy(&s1, &s2, sizeof(s2));
}
for (int i = 0; i < 10; i++) {
cout << s1[i].name << endl;
}
return 0;
}
上面的代码成功打印了十次“名称”,但是出现了段错误而不是终止。我怀疑它与 s2 的析构函数有关,但不确定。我应该如何处理?
解决方案
推荐阅读
- docker - 增加 grafana 数据源时的 Docker 网络问题
- c# - 从 API 获取经度和纬度
- postgresql - 将一个大的 postgres 表拆分为多个 csv
- python - Pyinstaller在运行.exe时隐藏终端
- azure - 在 Azure 数据工厂中解压缩 .Z 文件
- android - 标签栏布局活动标签文本颜色与原色相同
- javascript - 如何捕获 Firefox 的套接字连接错误消息?
- r - 如何过滤和复制 R 数据框中的值?
- python - 在 opencv-python cap.read() 1 秒后返回 false
- sql - 将数据类型从 varchar 更改为 integer