Hi大家好!我的C++代码里头,每个cpp文件都会定义一个与自己的类相关的一个全局变量,用来把自己的类型信息注册到用模板实现的Factory里头去。因为这些cpp的全局变量会在main开始执行之前先构造,所以程序进入main时,这些注册信息就已经可以用了。
但是在java里头,没有全局变量,或者说是在类里头用public域来实现。但是这些public域,即使是static的,也必须在class被加载并初始化后才有机会执行。
那么,我就没有办法像c++上述的做法那样,让每个cpp文件去自己定义那个全局变量了。因为java里头这些class必须在第一次使用的时候才能初始化,才有机会执行那些public域的初始化。请问有什么办法解决这个问题吗?
谢谢!
但是在java里头,没有全局变量,或者说是在类里头用public域来实现。但是这些public域,即使是static的,也必须在class被加载并初始化后才有机会执行。
那么,我就没有办法像c++上述的做法那样,让每个cpp文件去自己定义那个全局变量了。因为java里头这些class必须在第一次使用的时候才能初始化,才有机会执行那些public域的初始化。请问有什么办法解决这个问题吗?
谢谢!
java的模板还没有办法直接使用new T。当然可以用别的方式去解决,问题还是那个全局变量要在main之前让他自己执行,我不要看到具体的类型名。
谢谢!
2、main()函数是程序执行的入口,也就是说,还没进去就像得到程序里面的东西,估计不行吧。
3、java是面向对象的语言,不知道对象名称就访问对象,估计够呛的
没学过C++的人飘过