CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

寻找char**的C++替代

楼主sinall()2005-11-10 20:20:18 在 C/C++ / C++ 语言 提问

在C++中,  
  char*可以被vector<char>和string来替代。  
  那么char**能否被响应的类型来取代呢?  
  问题点数:60、回复次数:19Top

1 楼sankt(宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒.)回复于 2005-11-10 20:24:26 得分 0

upTop

2 楼JohnTitor(贱畜)回复于 2005-11-10 20:54:41 得分 5

char   *&Top

3 楼Wolf0403(废人:独活十年~心如刀割)回复于 2005-11-10 21:20:51 得分 0

vector<string>Top

4 楼Joyfish(昏昏)回复于 2005-11-10 21:26:13 得分 5

两者结合起来  
  vector<   vector<char>   >  
  或者  
  vector<   string   >  
  Top

5 楼yingle2000(音乐天堂)回复于 2005-11-10 21:30:07 得分 5

回复人:   Joyfish(昏昏)  
  两者结合起来  
  vector<   vector<char>   >  
  或者  
  vector<   string   >  
  ------------------------  
  正解Top

6 楼sinall()回复于 2005-11-11 08:29:00 得分 0

各位兄弟,  
  本人也是这么想滴,  
  但是  
  char   **argv  
  argv[0]是个字符串,char*  
  可是,vector<vector<char>   >和vector<string>都无法做到!  
   
  我要传递给一个c函数,接口参数为char**  
  Top

7 楼wylove(阿刚)回复于 2005-11-11 10:52:32 得分 5

string   *Top

8 楼yingle2000(音乐天堂)回复于 2005-11-11 10:58:38 得分 0

转化为vector<string>,然后传进去。Top

9 楼codemon(珍爱生命,远离美女)回复于 2005-11-11 11:10:22 得分 5

没有很好地解决办法,  
  vector或string只在外部特性上(通过重载操作符)模拟数组和字符串,内部存储方式上并不相同,你传入的那个函数将参数看作char**来处理,肯定是直接内存单元操作,不可能去调用vector或string方法或重载的操作符Top

10 楼nodummy(三甲 之 Linux/Unix里面甭给我分,谁给我分我和谁急)回复于 2005-11-11 11:52:53 得分 5

用vector<vector<type>>是一件自找苦吃的事情……Top

11 楼yuanchuang(元创)回复于 2005-11-11 12:11:02 得分 5

char   a[][]Top

12 楼Joyfish(昏昏)回复于 2005-11-19 17:51:45 得分 5

自己写一个类来管理吧,以前偶写过生成double**的C++类用来调用C算法库,在类里面管理内存并不难Top

13 楼sinall()回复于 2005-11-19 18:14:44 得分 0

嗯,谢谢  
  我现在打算用  
  vector<   char*   >和vector<   vector<   char   >   >一起来解决。  
  Top

14 楼nFox18(无知者无畏)回复于 2005-11-20 12:56:10 得分 5

可以自己编个类来实现,,,,,  
  Top

15 楼FreeFice(庄鱼)回复于 2005-11-20 13:13:41 得分 5

vector<vector<char>>不能代替char**!  
  模版vector在存储结构上有自己的规则:单元对象大小相对固定,这样在实现动态数组时,可以方便定位。而char**并不是二维数组,而是两级指针,相当于二维稀疏矩阵,这样的话,用<vector<vector<char>>就不合适了。  
  在BCB里有一个很好用的类TStrings就是专门对应于char**的。Top

16 楼sinall()回复于 2005-11-20 13:26:46 得分 0

楼上,vector<vector<char>>也是稀疏矩阵啊。Top

17 楼chenhu_doc(^0^纯一狼^0^ 看书看到大笑,直到不能自已)回复于 2005-11-20 13:38:28 得分 5

char   &*ccc;Top

18 楼chen_fu(精灵东东)回复于 2005-11-20 16:19:12 得分 5

问题不错,  
  Top

19 楼FreeFice(庄鱼)回复于 2005-11-20 17:49:19 得分 0

sinall()  
        楼上,vector<vector<char>>也是稀疏矩阵啊。  
  -------------------------------      
  如果我没记错的话,vector解决的是动态数组问题,也就是说每个单元大小相对固定的数据类型,而稀疏矩阵的无论从行或列来看都无法达到大小固定这一要求,所以就不合适使用vector这个容器,说白了,vector<char>是可以的,但vector<vector<T>>就不行了。Top

相关问题

  • 寻找替代trunc函数的c函数
  • C++能替代C吗?
  • 寻找TURBO C
  • 寻找 VB 的替代品
  • 寻找borland c++ 5.02
  • c/s开发可否替代B/S开发
  • 寻找C语言书~~~~~~~~~~~~~
  • 寻找一个C#函数!
  • 寻找c,c++语言,简单问题
  • C#...... C++....... C#具备所有C++的优点吗?C#能完全替代C++吗? 小弟问题!!

关键词

  • c++
  • vector
  • 矩阵
  • 解决
  • 数组
  • 稀疏矩阵
  • 类
  • 大小
  • char

得分解答快速导航

  • 帖主:sinall
  • JohnTitor
  • Joyfish
  • yingle2000
  • wylove
  • codemon
  • nodummy
  • yuanchuang
  • Joyfish
  • nFox18
  • FreeFice
  • chenhu_doc
  • chen_fu

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo