c++多个cpp要使用一个变量(vector、list之类的),该怎么办?

前几天写Qt的时候遇到一个问题,就是写了多个类,类的函数需要用到同一个变量,而且不是int,double这种的,而是vector,list,这些标准的结构。这可难到我了。

一开始想的是在文件头定义全局变量,但是程序报错,所以肯定是行不通的。

网上找了一些c++定义全局变量的方法,比如extern或者static之类的,试了,也没有用。另外c++在声明的时候有先后顺序,所以一定要把全局的放在所有引用的上面。

后来我也看到一些博客说vector这类不能定义为全局变量,和编译有关,有点复杂。对于我这种需要两三个用到同一个vector的还是比较少见。

最后我想了下,既然是都要用,而且设定全局如此麻烦,而且不安全,不如就当作参数传入函数不就行了?

果然可以。这样唯一的缺点就是速度可能会比全局的慢一些,但是至少是一种思路。

第一篇博文,打算就先水一水,哈哈。

发布了40 篇原创文章 · 获赞 28 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/lyandgh/article/details/78447268