- 主题:c++太垃圾
消息结构里经常用,发不定长的消息
【 在 hgoldfish 的大作中提到: 】
: 这是一个 c 的技巧,定义 char\[0\] 数组。但实际长度另说。
: --
: 灭绝人性啊
发自「今日水木 on V2217A」
--
修改:maomaogou FROM 39.144.44.*
FROM 39.144.44.*
-Werror 都不知道加吗?
【 在 mrunmatched 的大作中提到: 】
: 明明编译都检查出数组越界了,愣是只报warning,还允许编译通过,是怎么想的?给
: 黑客留后门?
: 不怪很多大公司呼吁用内存安全语言替换他,再不思进取,过几年就被淘汰了。
: 发自「今日水木 on HMA-AL00」
: ...................
--
FROM 119.139.197.*
该语言承担的事情,非推给程序员。我承认没有改正可能是因为历史束缚,但不要不承认c++内存安全性缺陷。c++之父都已经退步承认c++这方面缺陷了,你们就别再洗了。
【 在 hyperLee 的大作中提到: 】
:
: 数组越界的warning都不检查,到底是cpp垃圾还是coder垃圾?
:
: 零长数组是处理变长对象的利器,经历少不是lz的错,出来秀无知就不对了。
:
: #发自zSMTH@桃花源v6
: --
:
发自「今日水木 on HMA-AL00」
--
FROM 223.70.210.*
我承认这方面不好改正,因为太多现有代码的维护,历史包袱太重,这都是一开始设计犯下错误的代价。但不能因为不好改而不承认它的缺陷
【 在 hyperLee 的大作中提到: 】
:
: 嵌入式里边全是c写法,这种char0写法只会更多不会更少。
:
: #发自zSMTH@桃花源v6
: --
:
发自「今日水木 on HMA-AL00」
--
FROM 223.70.210.*
知道,但不影响我觉得这个语言有缺陷
【 在 iwannabe 的大作中提到: 】
:
: -Werror 都不知道加吗?
: --
:
发自「今日水木 on HMA-AL00」
--
FROM 223.70.210.*
C++中的数组跟你意识中的那个数组并不是一个概念。C++中的数组只有语法层面的意义。运行时只维护一个内存地址。所以你用C++编译器不检测内存越界这种问题批C++简直是匪夷所思。批判对象都没找对
【 在 mrunmatched 的大作中提到: 】
: 知道,但不影响我觉得这个语言有缺陷
: 发自「今日水木 on HMA-AL00」
--
FROM 221.216.54.*
多大点事,呵呵
--
FROM 121.196.127.*
不算奇技淫巧,用的人很多。
之所以好用,就是因为它能把一段变长的二进制数据解释为对应的逻辑结构/视图。
这可以认为是C/C++这种接近硬件的语言特有的技巧。别的语言实现起来就比较啰嗦。
linux里的inotify_event之类的结构也也有用。不过现在标准的写法是char[],不是char[0]、char[1]
https://github.com/torvalds/linux/blob/master/include/uapi/linux/inotify.h
反过来说,一个没用的东西,编译器不会对它特殊处理,标准也不会专门给它定条规范
【 在 HerSMTH 的大作中提到: 】
: 感觉这些奇技淫巧还是应该放弃
: 用其它的方式一样可以实现目的,执行效率没差别,还有助于阅读,缺点只是多几行代码而已
:
: ...................
--
修改:z16166 FROM 222.131.205.*
FROM 222.131.205.*
为啥不用rust
【 在 mrunmatched 的大作中提到: 】
: 明明编译都检查出数组越界了,愣是只报warning,还允许编译通过,是怎么想的?给黑客留后门?
: 不怪很多大公司呼吁用内存安全语言替换他,再不思进取,过几年就被淘汰了。
: 发自「今日水木 on HMA-AL00」
--
FROM 8.219.129.*
我觉得c++设计目的就是要爽
内存安全不是c++的首要目的
【 在 mrunmatched 的大作中提到: 】
: 该语言承担的事情,非推给程序员。我承认没有改正可能是因为历史束缚,但不要不承认c++内存安全性缺陷。c++之父都已经退步承认c++这方面缺陷了,你们就别再洗了。
: 发自「今日水木 on HMA-AL00」
--
FROM 8.219.129.*