在c++中传递值
Passing values in C++
本文关键字:c++ 更新时间:2023-10-16
我有一个从文件中读取一些变量的函数:
void ReadFromFile(const string& inicod){
string buf;
ifstream infile(inicod);
infile >> N; getline(infile, buf);
infile >> t_end; getline(infile, buf);
infile >> L; getline(infile, buf);
...
我必须在main中访问这些变量N, t_end, L。我应该在哪里声明它们(像全局变量一样?)以及如何访问它们?
可以返回一个元组
auto ReadFromFile(const string& inicod){
string buf;
ifstream infile(inicod);
infile >> N; getline(infile, buf);
infile >> t_end; getline(infile, buf);
infile >> L; getline(infile, buf);
return std::make_tuple(N, t_end, L);
}
auto
表示函数的返回类型取决于返回语句。因此,无论我传递std::make_tuple
,该函数将自动返回正确的std::tuple<T1, T2, ..., Tn>
(std::make_tuple
的结果)。std::tuple
是一个简洁的模板,它允许您动态地将数据捆绑在一起,而无需声明自己的struct
。如果返回的对象对于默认构造来说成本不高,那么还有一个解包元组的实用程序:
//N, t_end, L definition
std::tie(N, t_end, L) = ReadFromFile(inicod);
您可以像这样传递对变量的引用:
void ReadFromFile(const string& inicod,string &N,string &e_end,string &L){
....
}
相关文章:
- 没有找到相关文章