静态变量的使用原则:
1、内存空间的使用问题。静态空间在程序结束之前一直存在,从而造成内存空间使用率不高。
2、另一个问题就是如果在一个类或者函数中使用了静态变量,那么这个它就会保存上一次调用的一个状态,有时这会导致一些比较微妙的错误。
特别的,这样的函数是不可重入的,不能在多线程或者多进程中进行使用。
所以,一个基本原则就是尽量不要使用静态内存,除非必须。
某些地方感觉要用全局变量的地方(毕竟以前在ACM敲过很喜欢用全局变量,不喜欢传参),可以利用类的构造器进行传参来实现,但是以后的项目中,还是尽量用传递参数来实现。项目中用了很多静态变量会破坏了面向对象的编程思维,模块化的思想也受到冲击。
具体如何使用简单示意如下:
class A
{
private list<int>map;
public A(list<int>map1)
{
map=map1;
}
public void fun()
{
...
}
}
class B{
private list<int>List
//要调用A类中相关函数对其List进行操作
//在需要用到的时候直接创建A的对象(会自动调用其构造函数)
}