在c ++中访问return语句后,在函数中执行代码

Nic*_*nda -2 c c++ opencv return function

我有以下功能:

Class Image {

    IplImage* createImage( char* name )
    {
        IplImage* img = cvLoadImage( name );

        return img;

        ...
    }
}

int main() {
    IplImage* newimg = createImage( "somepath" );
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在执行了createImage函数之后,我想知道在访问return语句之后是否有办法执行某些代码,并且newimg已经填充了img变量的内容.

上面的代码是我想要实现的一个例子.我的主要问题是:即使在达到return语句后,有没有办法在函数中执行代码?

kar*_*lip 5

没有!return指令正是如此,它立即返回.无论如何都不会被执行.

因此,如果还有其他任何你想要这个函数要做的事情,你必须在函数之前添加这些任务的代码return:

IplImage* createImage( char* name )
{
    IplImage* img = cvLoadImage( name );

    // test if image was loaded and/or
    // do whatever else you feel you need to do
    // before:

    return img;
}
Run Code Online (Sandbox Code Playgroud)

请记住,您的功能createImage()应该简单并按照宣传的方式执行:创建图像.