如何用函数原型返回多个参数
How to return multiple parameter with function prototype
定义只返回y参数,我只是在学习函数原型
#include <iostream>
using namespace std;
int doDateofBirth(int m , int d , int y);
int main(){
cout << "My DoB is, " << doDateofBirth(4,14,1998) << endl;
}
int doDateofBirth(int m,int d,int y){
return m,d,y;
}
c++中不能返回多个对象
return m,d,y;
使用逗号操作符,计算左侧表达式,丢弃其值,然后返回右侧表达式的值。在这种情况下,它就像你写
一样return y;
你可以创建一个类来表示一个日期,然后返回它:
struct Date {
//maybe add protection, constructors, methods, etc
int month;
int day;
int year;
};
Date doDateOfBirth (const Date& something);
想返回多少就返回多少,使用:boost::tuple
在c++中,如果您想返回多个变量,请考虑以下选项之一:
- 根据对象的大小,将想要返回的变量分组为结构体或类,并在程序中使用结构体/类作为参数 使用参考参数
void doDateofBirth(int &m , int &d , &int y);
实现:void doDateofBirth(int &m,int &d,int &y){
// do your coding here
}
函数是这样调用的:月、日、年;dateofbirth(月,日,年);
通常当您觉得需要返回多个值时,这些值实际上代表一个更大的整体,您应该使用包含这些值的不同数据类型来表示。例如:
struct DateOfBirth
{
const int month;
const int day;
const int year;
};
DateOfBirth doDateofBirth(int m, int d, int y){
return { m, d, y };
}
doDateofBirth
在这里的行为与构造函数完全相同,所以我们将其设置为构造函数:
struct DateOfBirth
{
DateOfBirth(int m, int d, int y) : month(m), day(d), year(y) { } // constructor
const int month;
const int day;
const int year;
};
可以这样使用:
int main()
{
DateOfBirth mybd(666, 42, 69);
printf("%d/%d/%dn", mybd.year, mybd.month, mybd.day);
}
相关文章:
- 使用作为参数返回的指针的最佳做法是什么
- 有没有办法根据 lambda 参数返回类型部分专用化我的模板化函数?
- 如何通过函数参数返回指向不规则数组的指针
- void 函数中的指针参数返回不一致的值
- 如何修复用于根据参数返回不同类型的模板类中的错误C2679?
- 是否可以通过引用通过参数返回参考
- 在C++中,如何根据类中的参数返回不同的泛型类型
- 如何根据枚举参数返回其他类型
- GoogleMock,按参数返回和正常返回,消耗数组
- 功能是否有可能使用其参数返回指针
- 推论成员函数参数 /返回类型
- C++ 基于模板参数返回类型的模板函数
- 参考参数返回副本
- 根据模板参数返回有价值的
- std::string 应该按函数的值返回还是按"std::string &s"作为参数返回?
- 将适当类型的迭代器作为参数返回适当类型的STL容器
- 根据参数返回类型
- 如何实现模板函数从模板参数返回向量
- 如何根据模板参数返回不同的类型
- 我可以从引用传递的参数返回值中声明const int吗