有人能告诉我这个语法在代码中出现的位置示例吗?
thing.Foo().Bar(this)
从它的外观来看,我看到一个对象调用一个调用另一个函数的函数?
我显然不知道它是如何运作的。如果您有任何想法,我将不胜感激。谢谢!
答案 0 :(得分:2)
这是许多可能的情况之一:
struct somethingelse
{
void SomeOtherMethod()
{
thing.Foo().Bar(this);
}
};
struct foo
{
void Bar(somethingelse *pSomethingElse);
};
struct thing
{
foo &Foo() {return m_foo;}
foo m_foo;
};
使这有点不寻常的是,类和方法命名的命名约定与类的大写和方法的事实相反。
答案 1 :(得分:1)
此代码可以在类的任何非静态成员函数中找到。 Foo()
thing
函数返回类的对象,其成员函数Bar
将指向当前对象(this
)的指针作为参数。