在返回值的函数中使用内部循环返回
return with inner loop in a function which returns value
我对返回在C++中的工作方式有疑问。一旦条件匹配,循环会发生什么,我们需要返回值。
some function(){
for( )//outer loop with i and other values
{
for( )// inner loop with i and other values {
some condition using if which on match return a value val (call it x here)
return x;
}
}
return -1
}
循环不会"发生任何事情"。和往常一样,return
从函数返回。
循环消失在遗忘中,就像return
语句后面的任何代码一样。
唯一"发生"的是,您的自动存储持续时间对象(粗略地说,您的本地变量)将被自动销毁。
return
语句,来自任何最深的if语句、循环或开关;将导致程序控制向调用方返回。对于非void函数,它可能会返回一个值,或者简单地退出当前函数,而不为调用者提供任何输出。
除了函数之外,return
语句也可以类似地用于退出lambda(因为C++11)。语义保持不变。因此,如果在lambda(或多级嵌套lambda)中看到return
语句,它们可能不会从函数返回,而只能从给定的lambda返回。
在这两种情况下,本地声明的变量都将超出范围,它们的内存(如果由某个指针持有)将无效。将调用析构函数(如果在堆栈上分配)。
您已经嵌套了for循环。但是,函数本身返回一个常量值-1。也许你可以更清楚地问
相关文章:
- 使用虚拟变量对 std::vector 内部循环进行切片的最佳方法
- 仅执行一次函数一次内部循环,该循环在每个0.1秒C 处都被调用
- 访问lambda内部循环控制变量
- C++:if 内部循环的性能影响
- C 使用getline()内部循环以在CSV文件中读取
- 内部循环的变量
- 不要在心理上理解这个内部循环是如何工作的
- 嵌套 for 循环仅运行内部循环 (c++)
- 我的内部循环XML在C 向量中的预期无法正常使用Write_xml
- 如果语句内部循环不读取完全正确的代表显示错误
- 对于循环(内部循环时)被忽略
- 内部循环的上限是什么
- 与外部循环具有相同变量名称的内部循环
- 将内部循环与OpenMP并行
- 在返回值的函数中使用内部循环返回
- 如何在我的 babysort 函数中编写最终的内部循环
- 为什么用于解析我读取的行的内部循环每隔一次迭代就会通过外部读取循环跳过
- 优化我的内部循环(ARM,android ndk)
- c ++如何在内部循环中使用带有自动的矢量擦除对象
- 如何使用 openMP 并行化内部循环