所以我在win32 C++控制台应用程序中有一个函数,如:
void initFFmpeg(string url ,string container, int w, int h, int fps)
{// we want to return here
encoder.SetConstants(fps, videoWidth, videoHeight, audioSampleRate);
// ... more code...
if (encoder.InitUrl(container, url, outputUserName) == -1)
{
// ...some more code...
// Now we want to return
}
// ... more code...
}
Run Code Online (Sandbox Code Playgroud)
如何启用此类退货?
通常有一个自然的循环,你可以表达(while,for或do...while),否则就感觉像设计很差想随意跳转到一个函数的顶部.
做你想说的最简单的方法就是goto:
void function()
{
top:
// ...
goto top;
// ...
}
Run Code Online (Sandbox Code Playgroud)
编辑:修复完全伪造的do..while例子.
有些人不喜欢这个词,goto并且会坚持将所有内容包装在永久循环和使用中continue,但它只是另一个名字的转到.
void function()
{
for (;;)
{
// ...
continue;
// ...
break;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2428 次 |
| 最近记录: |