- 主题:c++果然是门邪恶的语言!!
邪恶的是人吧
正常谁会写个负的下标。虽然能编译过去。
--
FROM 222.129.205.*
那还是人的问题,哈哈
你可以把关键数组/类的operator[]重载一下,加上越界判断。而那些不会越界的地方,不需要为此付出开销。另外,下标别算错
如果人把指针算成了null或者超大数导致进程被杀,是不是也要怪OS邪恶啊
【 在 stub 的大作中提到: 】
: 不一定是写的啊, 可能是计算出来的. 今天写堆排序, 忘记 size()返回的是uint64, 当成int 来使用 然后
: ((size_type)0 - 1) / 2 当成0了, 其实是-1, 就这样对-1下标取值了.
--
修改:z16166 FROM 222.129.205.*
FROM 222.129.205.*
有些语言无论如何都帮你检查下标是否越界,付出了一定的性能开销。
c/c++给了你自由度,要性能并且保证不会越界的地方可以不检查,要安全就检查,决定权在码农手里。
如果你用汇编,自由度会更大,是不是也要骂cpu邪恶啊,居然可以让写汇编的人天马行空随便jump/call、随便cast
【 在 stub 的大作中提到: 】
: 跟语言也有关啊, 如果用java定位就不会那么痛苦了. 几行代码踩两个坑
--
修改:z16166 FROM 222.129.205.*
FROM 222.129.205.*
没咋去征婚版啊
毛的大神,为了5万分努力灌水,快了
【 在 gates2020 的大作中提到: 】
: 大神 你不是征婚版常客嘛? 想不到是C++大神阿
:
--
FROM 60.12.138.*