我在写一个功能如下图的程序:
由于这个程序要能循环执行,这导致了一个问题:
在第一次循环中,我选择功能1,即创建一个表(比如int型),代码是
static vec<int> v; //用static是因为我接下来的循环还要对这个表进行操作
在第二次循环中,我选择功能2,即销毁这个表,代码是
v.~vec(); //即调用析构函数
那么余下的 循环就不能进行了。。。
比如我在第三次循环中选择功能1创建表,可此时不会再运行static vec v;因为 static变量只定义一次,这样就无法再创建表。
所以我到底该怎样写这段代码呢?多谢各位啦~
如果是static,就不要频繁操作它,创建一次,直到你退出程序再释放
个人见解:除非必要,最好少用static,这东西创建一次之后,就一直存在,直到退出程序
可以使用swap()交换一下
销毁的话按你的意思是所有空间都没了 但是静态static这里有冲突
为什么要有静态?
静态static是为了延长变量的作用时间,为了它的较长的生命周期
你把它想得太过复杂了,写个这么小的链表,你也能用到vector? 真够⑥的,,归根结底是你的逻辑出问题了...