问一个关于类对象的选择题。该如何解决

问一个关于类对象的选择题。。...
例如 我的程序使用了lua,来获取外部传递进来的参数之类的。。


lua_函数1()
lua_函数2()
lua_函数3()
lua_函数4()
lua_函数N()

这些lua函数的话,需要调用一个类里面的成员函数之类的

那么我是直接声明一个全局的类对象好,

还是在每个lua函数里声明一个局部的类对象好呢。


另外还有一小问题,就是关于在类对象里面声明了Vector容器 变量 的时候, 

在声明一个类的时候,会自动为那个容器分配空间之类的吗?

这个问题我有点儿疑惑,因为我之前将一个 vector 变量在类里面声明后,使用了,导致程序崩溃,
我 就又将那个 vector容器声明为全局的就好了。

------解决方案--------------------
看需要吧。

直接声明一个全局的类对象,这个对象会一直占用内存,直到析构删除。但函数的执行效率会更高。

在每个lua函数里声明一个局部的类对象,函数执行完毕,对象就释放,节约内存,但函数的执行效率会比较低。

如果这个对象很占内存,建议用第二种,如果对象占内存低,可以用第一种。

按照你说的函数应该是通用的,其实直接把函数定义为静态成员更好,直接调用,不用创建对象。
------解决方案--------------------
“在类对象里面声明了Vector容器 变量 的时候,
在声明一个类的时候,会自动为那个容器分配空间之类的吗?”

楼主说的不清楚!你是想问“类里有Vector数据成员,而在构造函数里又没有为该Vector成员调用任何方法,则定义一个类对象时,该成员是否会初始化吗?”吧?
如果是这个意思,答案是肯定的,因为类A里的数据成员如果是类B的对象b,而A的构造函数里没有显式对b初始化,则会调用B的默认构造函数。