对象调用一个方法,然后在 C++ 中依次调用另一个方法
Object calling a method in turn calling another in c++
在用 c++ 对代码进行逆向工程时,我发现代码的某些部分根本没有得到。我是 c++ 的新手,提问的方式可能不正确,因为我不知道如何问这个具体问题,请原谅我。让我对此稍作阐述。我在代码中遇到了这样的事情。
obj.function_1( ).function_2(argument)
在某些地方,我发现像
function_1( ).function_2(argument)
function_1()
和function_2( )
属于不同的类别。 任何人都可以帮助我上面两行的含义。
它只是调用function_1()
的返回值function_2(argument)
。你也可以把它写成
ObjA obja;
ObjB objb = obja.function_1();
objb.function_2(argument);
第二个示例也是如此:
ObjB objb = function_1();
objb.function_2(argument);
它以不同的方式编写在您的代码中,以便不用担心该临时变量,可能是因为以后不需要它。
obj.function_1()
将返回一个对象,该对象具有一个名为 function_2
的成员函数。
这对function_1().function_2(argument)
来说是一样的.
obj.function_1( ).function_2(argument)
->调用obj
的function_1( )
,然后调用function_2(argument)
返回值obj.function_1( )
function_1( ).function_2(argument)
->调用function_1( )
(在全局或此代码所在的类中(,然后全部function_2(argument)
返回值 function_1( )
obj.function_1( ).function_2(argument)
意味着obj
具有function_1()
,并且返回类型(可能是某种类型的对象(function_1()
具有function_2()
,它将argument
作为参数。
同样地
function_1( ).function_2(argument)
表示在当前范围内调用 function_1()
是有效的,并且 function_1()
的返回类型(可能是某种类型的对象(具有function_2()
,它将argument
作为参数。
。任何人都可以帮助我上面两行的含义。
不。这取决于对象和函数是什么,而你还没有证明这一点。无法判断代码的作用,除非您可以看到所有代码。
例如,所有这些方案都不同:
-
OBJ有
型std::vector<int>
型、function_1 == std::vector<int>::rbegin
型和function_2 == std::vector<int>::reverse_iterator::operator[]
这里,最后一行
std::vector<int> obj = { 1, 2 }; obj.rbegin().operator[](0);
提供对向量最后一个元素的
int&
引用(并且不会更改任何内容( -
OBJ有
型std::vector<std::complex<double>>
型、function_1 == std::vector<std::complex<double>>::front
型和function_2 == std::complex<double>::operator+=
std::vector<std::complex<double>> obj = {{1,1}, {-1,-1}}; obj.front().operator+=(-1);
从第一个复元素的实部减去 1,留下
{0,1}
=i 作为第一个元素,而不是{1,1}
=1+i。 -
obj 的类型为
MyBigRDBMS
、function_1 == GetTables
(返回数据库中所有表集合的代理(和function_2 == Drop
obj.GetAllTables.Drop();
从我们的数据库中删除所有表。
- 在c++中多次调用方法
- 如何确保在使用基于布尔值的两个方法之一调用方法时避免分支预测错误
- 接收字符串并使用它来调用方法C++
- 使用 gmock c++ 在真实对象上调用方法
- 不带预处理器的调用方法/文件的文件名/行号
- JNI从Android调用C++方法
- 在 C++ 的 Switch Case 中创建对象后对对象调用方法
- 如何使用接口指针调用方法,该指针是其具体类的一部分,而不是接口的一部分
- 从内部类中的方法从包含类调用方法
- 在销毁期间从另一个线程调用对象上调用方法是否未定义行为?
- 为什么派生类的实例从基类调用方法?
- 实例化对象并调用方法,使用单行语法在 C# 或 C++ 中返回值?
- C++当您取消引用指向类对象的指针,然后将其作为引用返回时,是否可以对此引用调用方法
- 通过模板函数对未知类型调用方法
- 从基于迭代器的for循环转换后,如何在map::find()中调用方法
- 创建一个C++DLL以从C#DLL调用方法
- 如何从qt中的类中调用方法
- 如何在不迭代的情况下对数组中的每个元素调用方法
- C++11 - 获取编译时的所有类变量,并在没有 Boost 的情况下为它们调用方法
- C ++:如何在不创建对象的情况下在主函数中调用方法