A+B problems 怎么缩减占用内存容量?

来源:百度知道 编辑:UC知道 时间:2024/07/16 17:33:30
#include<iostream>
using namespace std;

int main()
{
int a,b;
while(cin>>a>>b)
cout<<a+b<<endl;
return 0;
}

这个程序占了556KB,有高人能帮忙分析一下为什么会占这么多内存么?
这个是在中科大ACM online judge上的结果 编译器应该是g++/gcc吧 我看有些用C++的也有只占200-300K左右的 想问下 莫非是我的写法有问题?
那有没有更简单的写法了? 有的话我还会再追加分数的 LS的俩位, 谢谢你们的热心回答了~

iostream库会生成流对象的

比如cout , cin 都是对象! endl是函数指针,不算。

IO流库,方便,自然会有运行时开销。 这种简单程序想内存小点,那你只有试试C库的printf, scanf这种了

这个程序我用VS2008调试, 任务管理器显示内存如下:
Debug 352K, Release 280K

等价C程序(做了scanf printf替换) 为
Debug 324K, Release 244K

你是用vc? 编译成release版本看看。 debug版本的大小没有任何意义

即便是release估计也会比c语言的版本大一些, 这个是没办法的, 因为c++的机制比c复杂太多了, 编译结果自然也大不少

你试试c++用 scanf printf能占用多少内存

hghghghgh