1。如何声明和编写任意个参数的函数
2。在类的一章中碰到零时对象这个概念,想问临时变量都出现在那些具体的情况下,要注意哪些问题?
3。看书时听见这样的一句话“无论什么时候设计一个包含静态变量的函数时,都因该记住多线程问题”这 是什么意思呢?
#include <iostream.h> #include <stdarg.h> using namespace std;
void sum(int...); int main() { sum(1,2,3,-1); sum(5,7,8,9,10,11,-1); return 0; } void sum(int severity ...) { va_list ap; int sum = severity; cout<<"Sum("<<sum; va_start(ap, severity); for(;;) { int p = va_arg(ap, int); if(p == -1)break; sum += p; cout<<','<<p; } va_end(ap); cout<<")="<<sum<<'\n'; } 程序不完善,我想不出判断参数结束的方法。
jackrain 太强了,不过我认为用字串做这个会简单一些。
#include <cstdlib> #include <iostream> #include <string> using namespace std; int addfun(string sExp) { int i=0,j=0; int result=0; for(;i<sExp.size();i++) { if (sExp[i]=='+') { result += j; j=0; } else {j=j*10+sExp[i]-'0'; } } return result+j; } int main(int argc, char *argv[]) { string sExp; cout << "input add exp"; cin >> sExp; cout << endl; cout << addfun(sExp);
}