首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >串流分割故障

串流分割故障
EN

Stack Overflow用户
提问于 2019-07-26 00:36:23
回答 1查看 23关注 0票数 0

使用linux和g++。

这是可行的:

代码语言:javascript
复制
stringstream ss;
for (int k = 1; k < 1000; k++){
}

这也应该是可行的,但会导致“分段错误”:

代码语言:javascript
复制
for (int k = 1; k <1000; k++){
     stringstream ss;
}

为什么?

EN

回答 1

Stack Overflow用户

发布于 2019-07-26 04:06:01

感谢安东尼奥·佩雷斯的回复。

实际上,我的代码是这样的:

代码语言:javascript
复制
#pragma pack(1)
#include <sstream>
#include <iostream>

int main(){
    for (int i = 0; i < 2; i++){
        std::stringstream ss;
    }
}

令人惊讶的是,如果我像这样替换#杂注包(1):

代码语言:javascript
复制
#include <sstream>
#pragma pack(1)
#include <iostream>

int main(){
    for (int i = 0; i < 2; i++){
        std::stringstream ss;
    }
}

...then未出现错误!

为什么sstream不允许打包其结构,是否存在可能的(非bug)原因?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57206628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档