函数的返回值顺序

use*_*947 0 c++ return function

这是我在C++中的代码:

 MyClass foo1() {
     return MyClass();
 }

 int MyClass::foo2() {
     return 54;
 }
Run Code Online (Sandbox Code Playgroud)

问题是,价值是什么:

foo1().foo2();
Run Code Online (Sandbox Code Playgroud)

是值54还是MyClass对象?

das*_*ght 5

由于点.运算符是从左到右计算的(即,首先foo1()调用它来确定调用的目标,然后调用其foo2()成员),答案是54.