由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - g++ default optimization error
相关主题
question for C++ constant来,出个题
C++ 的 问题一个指向指针的指针的引用?
一个古怪的C程序运行错误。这个地址咋回事?
请问这个C++程序有什么问题吗面试问题
C++里面C++菜问: 怎么这样也可以?
a simple question for C++ class请教一个c++ reference问题
关于C++中一个Class的大小 (转载)用数组做参数,在函数内部如何知道数组的size?
问个简单的memory allocation 的问题。请教一道入门小题
相关话题的讨论汇总
话题: psum话题: val话题: int话题: arr话题: cout
进入Programming版参与讨论
1 (共1页)
vi
发帖数: 309
1
奇怪的问题,谁帮忙看一下,谢谢!
int main()
{
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
list tlist(arr, arr+(sizeof(arr)/sizeof(int)));
int psum;
for_each(tlist.begin(), tlist.end(), [&psum](int &_val) {
_val += psum;
psum = _val;
});
for (auto _val: tlist) { cout << _val << " "; };
cout << endl;
cout << *(tlist.begin());
}
g++ default:
$2 4 7 11 16 22 29 37 46
2$
if compile with -O1 then it will produce the correct output:
$1 3 6 10 15 21 28 36 45
1$
f******y
发帖数: 2971
2
一个很明显的问题是psum没有初始化。

【在 vi 的大作中提到】
: 奇怪的问题,谁帮忙看一下,谢谢!
: int main()
: {
: int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
: list tlist(arr, arr+(sizeof(arr)/sizeof(int)));
: int psum;
: for_each(tlist.begin(), tlist.end(), [&psum](int &_val) {
: _val += psum;
: psum = _val;
: });

c*****t
发帖数: 421
3

You are right, thank you!
But why?

【在 f******y 的大作中提到】
: 一个很明显的问题是psum没有初始化。
t****t
发帖数: 6806
4
马甲?
什么叫why, 人不都已经跟你说why了吗?

【在 c*****t 的大作中提到】
:
: You are right, thank you!
: But why?

m*******l
发帖数: 12782
5
她问的是为什么 不初始化会出现这个结果
你怎么回答她?

【在 t****t 的大作中提到】
: 马甲?
: 什么叫why, 人不都已经跟你说why了吗?

t****t
发帖数: 6806
6
不初始化各种奇怪的结果都有可能出现啊...

【在 m*******l 的大作中提到】
: 她问的是为什么 不初始化会出现这个结果
: 你怎么回答她?

b*******s
发帖数: 5216
7
新的标准下编译器会初始化成0

【在 f******y 的大作中提到】
: 一个很明显的问题是psum没有初始化。
m*******l
发帖数: 12782
8
真的么?我怎么不记得?

【在 b*******s 的大作中提到】
: 新的标准下编译器会初始化成0
b*******s
发帖数: 5216
9
前段时间看到一个人的blog,都是让你猜一些代码在新标准下的表现的,我找找看,标
准我还没仔细读过

【在 m*******l 的大作中提到】
: 真的么?我怎么不记得?
b*******s
发帖数: 5216
10
http://cppquiz.org/quiz/question/18
里面的某一题

【在 m*******l 的大作中提到】
: 真的么?我怎么不记得?
m*******l
发帖数: 12782
11
你说的是类成员吧.
这个是local primitive

【在 b*******s 的大作中提到】
: 前段时间看到一个人的blog,都是让你猜一些代码在新标准下的表现的,我找找看,标
: 准我还没仔细读过

b*******s
发帖数: 5216
12
哦,我没仔细读过,看了一眼,最近没空

【在 m*******l 的大作中提到】
: 你说的是类成员吧.
: 这个是local primitive

d****n
发帖数: 1241
13
可以解释说是标准规定了的,这样的行为属于undefined behavior...

【在 m*******l 的大作中提到】
: 她问的是为什么 不初始化会出现这个结果
: 你怎么回答她?

1 (共1页)
进入Programming版参与讨论
相关主题
请教一道入门小题C++里面
再问C++初始化问题。a simple question for C++ class
conversion between const to nonconst关于C++中一个Class的大小 (转载)
post increment问个简单的memory allocation 的问题。
question for C++ constant来,出个题
C++ 的 问题一个指向指针的指针的引用?
一个古怪的C程序运行错误。这个地址咋回事?
请问这个C++程序有什么问题吗面试问题
相关话题的讨论汇总
话题: psum话题: val话题: int话题: arr话题: cout