为了账号安全,请及时绑定邮箱和手机立即绑定

请教下是不是还要添加其它头文件才能使程序运行?

请教下是不是还要添加其它头文件才能使程序运行?

C++
慕尼黑8549860 2022-12-06 22:18:44
#include<fstream>using namespace std;int main(){ifstream in("a.in");ifstream out("a.out");for(string str;getline(in,str);)out<<str<<endl;}为什么程序放到VC6.0无法运行?程序中out是干嘛的?
查看完整描述

2 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

#include <fstream>
#include <string>
using namespace std;

int main() {

ifstream in("a.in");
ofstream out("a.out");

for (string str; getline(in, str);)
out << str << endl;
}


查看完整回答
反对 回复 2022-12-10
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

需要和ref对比着来说,out是返回值,使用ref前必须对变量赋值,out不用。 
out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,也可以不修改。 
区别可以参看下面的代码:  
using System; 
class TestApp 

 static void outTest(out int x, out int y) 
 {//离开这个函数前,必须对x和y赋值,否则会报错。 
  //y = x; 
  //上面这行会报错,因为使用了out后,x和y都清空了,需要重新赋值,即使调用函数前赋过值也不行 
  x = 1; 
  y = 2; 
 } 
 static void refTest(ref int x, ref int y) 
 { 
  x = 1; 
  y = x; 
 } 
 public static void Main() 
 { 
  //out test 
  int a,b; 
  //out使用前,变量可以不赋值 
  outTest(out a, out b); 
  Console.WriteLine("a={0};b={1}",a,b); 
  int c=11,d=22; 
  outTest(out c, out d); 
  Console.WriteLine("c={0};d={1}",c,d); 

  //ref test 
  int m,n; 
  //refTest(ref m, ref n); 
  //上面这行会出错,ref使用前,变量必须赋值 

  int o=11,p=22; 
  refTest(ref o, ref p); 
  Console.WriteLine("o={0};p={1}",o,p); 
 } 
}

 


查看完整回答
反对 回复 2022-12-10
  • 2 回答
  • 0 关注
  • 48 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信