- 主题:编程语言中的null,算不算是一个失败的设计?
什么东西被滥用之后都很恶心
optional还是客观存在的,比如咖啡可以多加1份,2份糖,无糖或者默认糖量,如果只有int而没有int?,这个结构就不太好写
【 在 hgoldfish 的大作中提到: 】
: 关键是默认整个编程环境都是 non-null 的,optional 也是少部分,免得心智负担太重。现有语言写多了都是 optional<> 和 ?. 到处飘,很丑很恶心。
:
--
FROM 155.64.23.*
然后有人把-1定义成了nul怎么办?
【 在 hgoldfish 的大作中提到: 】
: -1 呗。
:
--
FROM 27.91.71.*
大多数语言的内存分配失败都会抛异常,但C++的异常本身有缺陷,如果不了解的透彻容易掉坑
【 在 GoGoRoger 的大作中提到: 】
: 看不懂啊,那应该怎么设计?
--
FROM 155.64.23.*
C++的异常是个大坑,很容易进入鸡生蛋蛋生鸡的坑里
【 在 GoGoRoger 的大作中提到: 】
: cpp申请内存失败不是默认也抛异常吗?你们说得好复杂啊,不完全懂。。。。
--
FROM 27.91.71.*
很多人选择禁用C++异常,只用null传递失败
【 在 GoGoRoger 的大作中提到: 】
: 但这和null有什么关系。。。?
--
FROM 155.64.23.*
至少要确保内存申请失败一定崩溃而不是产生不可预见行为,否则就是一个大安全漏洞了
【 在 libgcc 的大作中提到: 】
: 我想问下
: 你们代码里真的会去去处理内存申请失败的逻辑么
: 我觉得一般情况下应用程序申请不到内存,这机器也干不了什么了,程序挂不挂已经不重
: ...................
--
FROM 27.91.71.*
内存分配失败不是很常见的么,比如你打开一个图形文件时,文件内容损坏导致其长宽都成了百万像素,这时候如果有个合理的异常,什么麻烦都不会有。
【 在 poocp 的大作中提到: 】
: 我觉得不能接受内存分配失败的系统,从设计上就必须保证系统和应用的内存是足够并且不滥用的吧。
: 靠语言特性来保证内存分配失败后不崩,其实意义不大。
:
--
FROM 27.91.71.*