为啥C++不把string当成内置的数据类型,而是把它弄成类放到类库里面
你没发现C/C++的内置数据类型都是固定长度的么?
■网友
谢邀设计者预见到std::string不一定适合所有人,因此也不适合内置于语言之中这也继承了C的传统:君不见C为了给用户留出最大的灵活性,也(几乎)没有在标准库里定义任何复合类型(一旦定义了复合类型,就牵涉到memory layout,member order等怎么想也无法预先想出“最优方案”的问题;另一个原因是不定义复合类型有助于保证API/ABI兼容性),所以以zero-ending char sequence来代表字符串(逃避了定义复合类型的问题)
■网友
《C++语言的设计与演化》中在谈到为什么当年的C++没有在语言上支持多线程等特性时,C++之父表示他本人更喜欢调用库的方式。感觉string也类似,这样会给程序员更多自由度,无论你用Qt的QString、boost的string还是std的string,都是个人自由选择。
推荐阅读
- 为啥看到书柜上的藏书会有心旷神怡的感觉
- 为啥知乎上普便有一种【我在北上广深打工,所以拥有更好的视野】这样的错觉
- 为啥工商银行的用户体验如此之差
- 汽车|看了中消协4S店服务测评调查结果,终于知道法系车为啥卖不好了
- 你为啥从窝窝商城离职?
- 为啥5G和2.4G默认的BSSID是相同的
- 为啥电器实体店的价格比淘宝贵那么多
- 现在在线学习视频有很多了,为啥大部分人还是喜欢下载下来观看
- 为啥到现在你还没有女朋友 ?
- 天赐的声音|33岁张雨绮为啥总离婚?看过这些照片就明白了,都是性感惹得祸
