跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • C++新手,请教一个循环中创建 list 的问题
未分類
10 5 月 2020

C++新手,请教一个循环中创建 list 的问题

C++新手,请教一个循环中创建 list 的问题

資深大佬 : opiviqo 8

我需要在一个循环中不停创建 list,然后把这些 list 放进一个 map 的 value 中。

while (条件){

//1.创建 list ; //2.放入 map ; 

}

要怎么做呢?如果又更好的方法,也可以告诉我,感谢您的回复

大佬有話說 (18)

  • 資深大佬 : l00t

    这问得…… 你不先写写看么?你先写一个

  • 主 資深大佬 : opiviqo

    写不出来 while 创建不同的 list,搞不懂

  • 主 資深大佬 : opiviqo

    @l00t 写不出来 while 创建不同的 list,搞不懂

  • 資深大佬 : wysnylc

    用 Java Stream 很好写,C++不是很清楚但是应该有差不多的方式

  • 主 資深大佬 : opiviqo

    @l00t 那个变量名要怎么随着 while 改变?

  • 資深大佬 : Jacky23333

    @opiviqo 兄弟,你在 while 里面定义的变量作用域只限于本次循环

  • 資深大佬 : nightwitch

    std::map<int, std::list<int>> map;
    int index = 0;
    while(condition)
    {
    map.emplace({index++,std::list<int>{});
    }
    大概是这样吧?

  • 資深大佬 : araraloren

    @opiviqo 什么 变量名??你先把自己的想法 写出来 ,我们才能知道你哪里错了。。

  • 主 資深大佬 : opiviqo

    @araraloren 每一次执行 while 就创建一个新的 list,然后给 list 赋值,然后给给这个 list 放入到同一个 map 中
    while (条件){
    创建新的 list ; //这里要保证每个 list 又不同的内存空间,因为要存不同的数据;我个人理解就是每次创建的 list 变量名都是不变的有问题;
    list 赋值;
    放入 map
    }

  • 資深大佬 : Tony042

    @opiviqo 你要是不需要 key value 的话,直接 vector 不更好?

  • 資深大佬 : l00t

    所以说你不先写一下么…… 你不写你怎么知道变量名相同有没有问题呢

  • 主 資深大佬 : opiviqo

    @Tony042 有 key 那个 value 就是个 list,boss 要求放 list,我不知道为何,被动执行。

  • 資深大佬 : hello2060

    @opiviqo #9
    所以你写出来就对了
    不管是 vector 还是指针,你只要是 new 出来的东西都在堆上,空间不是重合的。

    “`
    while () {
    vector<int> v = xxx
    map[x] = v
    }
    “`

  • 資深大佬 : Madcrow

    放进 map 里会执行一次拷贝构造,所以没有你担心的问题

  • 資深大佬 : Procumbens

    @opiviqo

    在 while 大括号里新定义的 list 每一次都是新的变量

  • 資深大佬 : jmc891205

    loop {
    vector<int> v;
    m[key] = v;
    }

  • 資深大佬 : zycpp

    考虑一下智能指针?

  • 資深大佬 : araraloren

    这不是学习没到家么,每一次循环 块内的变量都是不相关的,
    他们是有 相同名字 相同生命周期 但出生在不同时间的 变量
    而且 我现在也不确定你想做的事情能不能写成循环,因为很显然你还没有理解循环是怎么回事。。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具