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();