C++静态初始化遇到问题!请高手解答.[100分]
良少 博客专家认证 2006-06-22 03:34:37 C++静态初始化遇到问题!请高手解答.
我们知道,C++的初始化,是先执行类的静态成员变量的赋值,然后,再执行实例化:实例变量的赋值和构造函数的代码。
现在,我写的一个类,它的实例变量和静态变量,调用的赋值语句,都是该类的一个静态方法。并且,这个方法的参数,是一个变量,而不是一个指针。
由于,我不能够在调用方法时,在实参中定义一个变量,所以,我为了执行赋值,必须要执行两条语句:
1,建立一个临时变量,用作实参。
2,实例变量赋值,或者静态变量赋值。
对于实例变量的赋值来说,我可以在构造函数中执行。这样,我写多行代码是没问题的。
现在的问题是,静态变量的赋值。在C++中,静态变量的赋值,只能够是一条语句。这就出现了问题!
当然,对这个问题,也有解决的办法。比如说,另外写一个方法,包装原来的方法,或者再写一个静态方法。但是,这样解决问题,不是很好。
请问,C++中有没有静态初始化的语句块。 这种情况,最优的解决方案是什么。