有 list<char> m_List;
m_List.push_back("abc");想问的是容器的空间里村的直接是"abc"这个字符串,还是存的他们在内存中的地址;请指教!

解决方案 »

  1.   

    list <char*> m_List; 
      

  2.   

    list <char> m_List; 
    m_List.push_back("abc"); 如果编译通过,存的他们在内存中的地址,因为元素类型为char,"abc"地址转为charlist <char*> m_List; 也存的他们在内存中的地址,取时直接得到char*的指针
      

  3.   

    再补充下:我觉得应该是这样的,当push_back时,new一个空间,容器里记录这个new出来的地址就可以了.
    因为如果直接存的是字符内容,那么在定义一个容器类时就要分配很大一块内存空间,这样有点浪费了
      

  4.   


    呵呵,错了.应该是
    list <string> m_List; 
    m_List.push_back("abc"); 
      

  5.   

    因为string里记录的也是字符串的地址
    越说越混淆,重新发个帖