assumes

assumes,第1张

assumes 在C++编程中,领导坚持用char而不用string,string有那么可怕吗?

在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*。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/4104036.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-24
下一篇 2022-10-24

发表评论

登录后才能评论

评论列表(0条)

保存