HostArgumentParser:
class HostArgumentParser {
public:
/**
* Constructor.
* @param args An array of known arguments' information, terminated by an
* entry with id == -1. It must be statically defined.
*/
explicit HostArgumentParser(const HostArgumentInfo *args);
~HostArgumentParser();
//c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?
如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象。
关键字explicit的作用,将类的构造函数声明为"显示",也就是在声明构造函数的时候前面添加上explicit即可,这样就可以防止这种自动的转换操作。
....
}
分析参数。
ExtractArgumentsValue() ;
去设置 g_Arguments 和 kGlobalExtensions[0] 的值。
g_arguments:设置了一些参数信息。
kGlobalExtensions[0]: " -script-runtime"
QApplication:
QApplication::QApplication ( Display * dpy, int argc, char ** argv, HANDLE visual = 0, HANDLE colormap = 0 )
创建使用argv中argc个命令行参数的一个应用程序,给定一个已经打开显示的dpy。如果visual和colormap非零,应用程序将使用它们作为默认的Visual和Colormap上下文