| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 486 人关注过本帖
标题:关于vector存指针的问题
只看楼主 加入收藏
FlightTime
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-1-28
结帖率:75%
收藏
已结贴  问题点数:8 回复次数:1 
关于vector存指针的问题
程序代码:
#include <iostream>
#include <string>
#include <vector>
#include <list>
using namespace std;

int main()
{
    char* ia[]={"marry","mirst","vector","list"};
    list<char*> lst(ia,ia+4);
    vector<string> vec;

    for(list<char*>::iterator it=lst.begin();it!=lst.end();it++)
    {
        string str;
        str=**it;
        cout<<"*it : "<<**it<<endl;
        vec.push_back(str);        
    }
    
    for(vector<string>::iterator it=vec.begin();it!=vec.end();it++)
    {
        cout<<"it : "<<*it<<endl;
    }
    
    return 0;
}


在上述代码中,我想把list中的对象复制到vector中,list保的是char*,为什么我用**it得到的只是每个字符串的首字母,而*it得到的才是字符串。

我的理解是list中存的都是每个字符串的地址,所以*it得到的是地址,而**it才能得到字符串,这样理解有什么问题吗,请大家指点下。谢谢!
搜索更多相关主题的帖子: color 
2015-06-03 20:31
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:8 
无关的代码太多,直接问    *"marry"   为什么是字符类型?
2015-06-03 21:35
快速回复:关于vector存指针的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020077 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved