C++ 一个函数可以使用点运算符调用另一个函数吗

C++ 一个函数可以使用点运算符调用另一个函数吗,c++,ns2,C++,Ns2,Tcl::instance().eval(在->过程中)指令。你能解释一下在两个函数之间放置点运算符的概念吗?好像我没有弄错一样,instance()和eval()都是函数,我从来没有遇到过这样的概念,其中一个函数使用点运算符调用另一个函数。胡乱猜测对Tcl::instances一无所知: Tcl::instance是一个返回某个对象的函数。该对象有一个名为eval的方法。程序员认为不适合命名返回的对象,而是直接对结果调用方法 struct Bar { Baz getBaz(); }

Tcl::instance().eval(在->过程中)指令。你能解释一下在两个函数之间放置点运算符的概念吗?好像我没有弄错一样,
instance()
eval()
都是函数,我从来没有遇到过这样的概念,其中一个函数使用点运算符调用另一个函数。

胡乱猜测对
Tcl::instance
s一无所知:

Tcl::instance
是一个返回某个对象的函数。该对象有一个名为
eval
的方法。程序员认为不适合命名返回的对象,而是直接对结果调用方法


struct Bar {
    Baz getBaz();
}

struct Foo {
    Bar getBar();
}

Foo foo = new Foo;

// the next two lines...
Bar bar = foo.getBar();
Baz baz = bar.getBaz();

// are exactly the same as this next line
baz = foo.getBar().getBaz();

Tcl
是一个单例,您可以使用静态方法
instance
获取当前实例,该方法将返回对
Tcl
类型的对象的引用。使用
访问类的静态成员。然后,您可以使用通常的
表示法对此类对象调用方法

该行是以下内容的简写:

Tcl &tcl = Tcl::instance();
tcl.eval(at->proc_);
是对
Tcl::instance
调用的简短引用:

类的单个实例在~tclcl/Tcl.cc中声明为静态成员变量;程序员必须获得对此实例的引用才能访问本节中描述的其他方法。访问此实例所需的语句是:

   Tcl& tcl = Tcl::instance();