zay999abc
霍天青
采纳率63%
2015-11-23 09:22

如何在每次循环中都定义一个静态变量?(C++)

我在写一个功能如下图的程序:图片说明
由于这个程序要能循环执行,这导致了一个问题:
在第一次循环中,我选择功能1,即创建一个表(比如int型),代码是

 static vec<int> v; //用static是因为我接下来的循环还要对这个表进行操作

在第二次循环中,我选择功能2,即销毁这个表,代码是

 v.~vec();  //即调用析构函数

那么余下的 循环就不能进行了。。。
比如我在第三次循环中选择功能1创建表,可此时不会再运行static vec v;因为 static变量只定义一次,这样就无法再创建表。
所以我到底该怎样写这段代码呢?多谢各位啦~

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • John_ToString John_ToString 6年前

    你把它想得太过复杂了,写个这么小的链表,你也能用到vector? 真够⑥的,,归根结底是你的逻辑出问题了...

    点赞 评论 复制链接分享
  • u013427969 ClouddRenn 6年前

    销毁的话按你的意思是所有空间都没了 但是静态static这里有冲突
    为什么要有静态?
    静态static是为了延长变量的作用时间,为了它的较长的生命周期

    点赞 评论 复制链接分享
  • u014377853 易山川 6年前

    可以使用swap()交换一下

    点赞 评论 复制链接分享
  • qgw15759535 qgw15759535 6年前

    个人见解:除非必要,最好少用static,这东西创建一次之后,就一直存在,直到退出程序

    点赞 评论 复制链接分享
  • bdmh bdmh 6年前

    如果是static,就不要频繁操作它,创建一次,直到你退出程序再释放

    点赞 评论 复制链接分享

相关推荐