12个回答

你认为 C++ 最不应该存在的特性是什么?

举报民科专业户
6个点赞 👍

个人之见。

一个特性是引用,引用的本质是一个弱化后的const ptr,但问题在于它既没有办法重新赋值也没有办法做判空检查,即便从上一级传递过来一个引用表示的变量,我也没有办法完全的认为它一定是安全的。

另一个特性是模板,不可否认的模板解决了很多问题,并提供了编译期的type traits,但我始终认为编译期的type traits完全不应该基于反人类的模板元编程来搞(虽然它看起来很优雅)。

另一个模板的优势是在编译期完成求值计算,这个特性不是说不行,但是用c++写过大型工程的应该都清楚,c++和其他语言惨不忍睹的编译时间,如果再套上大量header only的库,尤其是基于template完成无法做成pch和gch的,编译时间更是达到一个令人发指的程度,所以从一开始将模板的特性功能拆开,而不是作为一个可以在编译期写个红黑树出来的元模板事实上会更加实用一些。

发布于 2023-08-01 23:43・IP 属地广东
Aunsmile
自由评论 (0)
分享
Copyright © 2022 GreatFire.org