【发布时间】:2017-04-03 20:00:42
【问题描述】:
是否可以从函数内的循环中返回许多值,类似于以下内容:
float MyFunc(float First, float Second)
{
while (First < Second)
{
First++;
return First;
}
}
然后能够在返回时打印出不同的值?
(我明白这不是一个很好的做任何事情的方法,但我只是好奇,似乎无法找到一个好的答案。也许我只是不够努力)
【问题讨论】:
-
使用vector存储和返回。
-
您正在寻找的是coroutines。它们还不是标准的一部分,但有计划将它们包含在 c++17 中。
-
您可以返回更复杂的数据类型,或者通过引用传入数组/向量并对其进行修改。
-
@Fang 的提议是 IMO 最正确(但有时过于规范)的方法。