在C++中优先使用String是一个良好的习惯 。除非是C的死忠者习惯如此 , 否则应该使用String而不是char 。
char是用来处理任何8bit数据类型的 , 逻辑值、整数、字符ASCII码等都可以 。要用来处理字符串需要使用char[]数组 , 比较麻烦 , 也不好控制 。
String是一个模板类 , 它是专门用来处理字符串的 , 封装了很多处理字符串的成员函数 。并且它是C++标准库的一部分 , 是所有C++实现都支持的 , 也是C++创始人推荐使用的 。
术业有专攻 , 应该用哪一个不难选择吧 。

文章插图
作为一名一线开发者 , 下面说说自己的看法 。如有不同意见 , 欢迎留言讨论 。
先说下自己的观点 , 个人不是很看好你们领导这种 , 坚持用char而不用string 。
既然选择了C++ , 那么为什么不用STL早已为我们封装好的string呢?
string其实现就是一个带有长度的char * , 帮我们省去了自动管理内存的麻烦 , 都已经0202年了 , 你还会担心内存不够用吗?
个人猜想:
也许你的领导在某一项目中使用了string过程中被深深的坑了一把 , 但是却不知道具体原因 , 所以立下了祖训:禁止使用string!
也许在调用某个厂商提供的动态库时 , 在接口中使用了std::string而不是char * , 结果遇到了灵异事件 , 程序莫名的崩溃了 , 连自己的调试器都没有进入 , 至此 , 禁止使用string 这一莫名的结论就一直流传下来了 。
那么如果我们真的遇到某些厂商的SDK出现这种奇葩库 , 怎么破?
答案很简单:用发布那个dll的VC版本 , 再写个动态库做封装库 , 把接口转发成char* 。
【在C++编程中,领导坚持用char而不用string,string有那么可怕吗?】在VC++编程中CString是一个很重要的概念 , 用char很啰嗦而且易错 。
但为什么有的人热衷于用char呢?快要被时代抛弃的人最爱用 。你的领导很显然年龄很大 , 习惯了之前c语言的那一套路 , 对CString类没掌握好 。
CString对+ , 一号的重载 , 对字符串的插入 , 删除 , 计算长度 , 以及格式化输出等等处理有绝对优势 。比如对路经”D:\\windows\\tmp\\”的分析 , 只需要从右或者从左的第一个\\的位置 , 很容易剥离出d:及文件名 , 使处理准确 。
另外 , 写法非常自由 。可以把好多CString串用十号合在一起 。MFC中的函数 , 字符串传递大都用CString进行 。一般的赋值 , 用=号足矣 , 不再用那该死的strcpy了 。
看环境和问题 , char 和string 有不同的应用场景 。不说明情况 , 谁知道怎么回事?总的来说 , 最大的可能是你懒不愿意考虑到底要用char(?)几 , 所有的都用了string , 所以领导才强制你用char 。另外 , 数据库定义字段也有char的长度限制 , 你不过脑都用string等着爆bug吧 。真实情况一般都是char用的多也稳定 , 少部分情况用string 。
题主领导这么做一定有他的道理 , 估计是踩过让他难以释怀的坑 。从根本上来说用string和char , 没有太大区别 , 都是用来解决字符串处理 。
血淋淋的工程经验分享给大家 , 在应用到生产系统的程序编码时 , 原则是用熟不用生 , 尽量做到一切在掌握中 。新的语法糖或者特性固然很好 , 如果没有经历过实际生产运行实践 , 你必须持谨慎态度 。在某大厂就明确要求不能使用STL类库的 , 只能使用自己封装的类库 。
- 火车司机,一个月工作240个小时,从你下班到下一次上班,在家待18个小时,你愿意来吗?
- 在长沙工作,今年刚满30岁,月薪25000算什么水平?
- 事实上是被公司裁员的,但是离职证明却写成了个人原因离职,现在在劳动仲裁,应该怎么补救?
- 在职场被排挤了怎么办?
- 在德云社工作的相声演员,工资待遇如何?
- 有了新家后,我发现“买家居物件”会上瘾,好看的实在太多了!
- 五种食谱改善皮肤粗糙
- 你对正在吃的减肥药有多少了解?
- 音乐翻唱的意义到底在哪里 翻唱改编音乐作品是一种突破吗
- 音乐表演专业学什么 毕业后能干什么
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
