• 生活小妙招免费各类生活中的小问题知识以及音乐简谱等,是你了解世界未知知识的好地方。

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

十万个为什么 空空 2024-3-24 10:22:36 3次浏览

关于问题在 C++编程中,领导坚持用 char 而不用 string,string 有那么可怕吗?一共有 5 位热心网友为你解答:

【1】来自网友【理智的键盘】的最佳回答:

人家给你造好的房子不住,一定要自己从地基开始开始造。

【2】来自网友【Assault53484432】的最佳回答:

在 C++中优先使用 String 是一个良好的习惯。除非是 C 的死忠者习惯如此,否则应该使用 String 而不是 char。

char 是用来处理任何 8bit 数据类型的,逻辑值、整数、字符 ASCII 码等都可以。要用来处理字符串需要使用 char[]数组,比较麻烦,也不好控制。

String 是一个模板类,它是专门用来处理字符串的,封装了很多处理字符串的成员函数。并且它是 C++标准库的一部分,是所有 C++实现都支持的,也是 C++创始人推荐使用的。

术业有专攻,应该用哪一个不难选择吧。

【3】来自网友【智五星】的最佳回答:

开发 c++绝不能用 string,更不能用 char,也不能用 byte,sbyte,short,single,int,long,double 等等。所有类,对象以及 new 等等坚决不要碰。对于开发越大型工程来说,是不能使用任何变量和非变量的。但是可以写代码,一切都可以用纯代码,就是代码里不能有任何变量变体以及类结构体。除了寄存器之外,不能有任何跟内存相关的东西。不能跟操作系统有任何联系。

【4】来自网友【一个程序员的奋斗史】的最佳回答:

作为一名一线开发者,下面说说自己的看法。如有不同意见,欢迎留言讨论。


先说下自己的观点,个人不是很看好你们领导这种,坚持用 char 而不用 string。

既然选择了 C++,那么为什么不用 STL 早已为我们封装好的 string 呢?

string 其实现就是一个带有长度的 char * ,帮我们省去了自动管理内存的麻烦,都已经 0202 年了,你还会担心内存不够用吗?

个人猜想:

也许你的领导在某一项目中

使用了 string 过程中被深深的坑了一把,但是却不知道具体原因

,所以立下了祖训:禁止使用 string!

也许在调用某个厂商提供的动态库时,在接口中使用了 std::string 而不是 char * ,结果遇到了灵异事件,程序莫名的崩溃了,连自己的调试器都没有进入,至此,

禁止使用 string

这一莫名的结论就一直流传下来了。

那么如果我们真的遇到某些厂商的 SDK 出现这种奇葩库,怎么破?

答案很简单:

用发布那个 dll 的 VC 版本,再写个动态库做封装库,把接口转发成 char*

【5】来自网友【胡思胡想】的最佳回答:

看环境和问题,char 和 string 有不同的应用场景。不说明情况,谁知道怎么回事?总的来说,最大的可能是你懒不愿意考虑到底要用 char(?)几,所有的都用了 string,所以领导才强制你用 char。另外,数据库定义字段也有 char 的长度限制,你不过脑都用 string 等着爆 bug 吧。真实情况一般都是 char 用的多也稳定,少部分情况用 string。

喜欢 (0)