- 主题:c++太垃圾
这是一个 c 的技巧,定义 char[0] 数组。但实际长度另说。
【 在 mrunmatched 的大作中提到: 】
: 明明编译都检查出数组越界了,愣是只报warning,还允许编译通过,是怎么想的?给黑客留后门?
: 不怪很多大公司呼吁用内存安全语言替换他,再不思进取,过几年就被淘汰了。
: 发自「今日水木 on HMA-AL00」
: ...................
--
FROM 183.253.147.*
因为 char[0] 和 char* 不一样啊。
前者在申请内存的时候这样:
struct example {
int i;
char buf[0];
};
struct example *ex = malloc(sizeof(struct example) + 1024);
putc(ex->buf[64]);
你用 char* 做不到这个效果。
【 在 HerSMTH 的大作中提到: 】
: 为啥定义char[0]数组啊?定义个char*指针不香?
--
FROM 183.253.147.*
那么你应该去用 java. 不是 c++ 更不是 c.
【 在 mrunmatched 的大作中提到: 】
: 为了这些根本不值得,内存错误会导致很多随机错误,需要浪费很多人力时间去测试,找bug。要是火箭汽车控制之类的,因为这种问题出bug,损失太大了
: 发自「今日水木 on HMA-AL00」
--
FROM 124.72.109.*
也对啊。现在嵌入式领域用 rust 也是有人这么干。但 rust 的入门门槛比 c 高,所以暂时还不够流行,最明显的问题就是招不到人手。
c, c++ 有它的特定用途。保留这些奇技淫巧也有是必要的。
不要太绝对地说一门技术是好的还是坏的。
【 在 mrunmatched 的大作中提到: 】
: 但是控制领域需要非gc语言保证实时性,所以像rust这种需要是有前途的
: 发自「今日水木 on HMA-AL00」
--
FROM 124.72.109.*
币圈人傻钱多?
链圈还是老老实实 c++ 和 go.
【 在 littleSram 的大作中提到: 】
: 据说只有币圈用rust比较多,招聘直接会rust
: 其他领域似乎都是试用rust的感觉
--
FROM 59.60.24.*