函数返回值如何工作

how does a function return value work

本文关键字:工作 何工作 返回值 函数      更新时间:2023-10-16

E.g 函数:

int pr()
{
   std::cout<<"test"<<std::endl;
   return 0; 
}

此函数具有返回类型 int。为什么我们可以在不分配任何东西的情况下在 Main 中编写这个函数。 例如

int main()
{
    int i = pr();  // all right.
    pr();   // but why is this correct also?
    // is this similar void function this moment?
}

它只是执行函数,返回值丢失,它没有分配给任何地方,被忽略。

这是允许的,因为它不是被禁止的。在某些情况下,您可能只关心逻辑,并且您并不真正想使用返回值,该值指示对当前任务不重要的内容。例如:

int openFiles(string directory) {
    //opens files on directory and returns the number
    //of files that were successfully opened
}

我可能对返回类型不感兴趣。.

因为标准是这么说的。 在许多语言中,不使用返回值将是一个错误。 由于各种历史原因,在 C 或 C++ 中不是这种情况;您可以忽略返回值。

在实现级别:int通常返回登记册;如果忽略返回值,编译器不会对该寄存器执行任何操作。 但是,对于类类型,调用方必须销毁返回的值,即使他忽略它也是如此。

> 在 C/C++ 中,函数可以选择其返回类型为 void 或某种特定类型。但是,如果 non-void 是函数的返回类型,则无论何时调用该函数,调用方都可以也可能不使用返回值。这不一定意味着这等同于无效返回类型。您可以选择检查返回值,但不需要检查,由您决定,可选。希望能回答。