b*******s 发帖数: 5216 | 1 【 以下文字转载自 Joke 讨论区 】
发信人: fuckthrust (...), 信区: Joke
标 题: IBM高级软件工程师老印的示例代码,大家看看有多少个bug? (转载 (转载)
发信站: BBS 未名空间站 (Sat Mar 22 22:59:37 2014, 美东)
发信人: fuckthrust (...), 信区: Military
标 题: IBM高级软件工程师老印的示例代码,大家看看有多少个bug? (转载)
发信站: BBS 未名空间站 (Sat Mar 22 22:58:24 2014, 美东)
发信人: winetricks (winetricks), 信区: JobHunting
发信站: BBS 未名空间站 (Sat Mar 22 10:46:35 2014, 美东)
http://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/
以一个简单的 string 类为示例,实现拷贝构造函数和拷贝赋值操作符。
示例程序 :
class MyString {
private:
char* _data;
size_t _len;
void _init_data(const char *s) {
_data = new char[_len+1];
memcpy(_data, s, _len);
_data[_len] = ' |
N******K 发帖数: 10202 | 2 不检查 _data是否已经指向一个东西
字符串最后一位是 \0
输入const char* 的长度不一定是_len |
N******K 发帖数: 10202 | 3 mitbbs被我测试出了一个bug
操
"\0"
mitbbs是傻逼写的程序
把以上"" 换成'' 骂人的话 发表后就不见了 |
l*y 发帖数: 21010 | 4 最后一位是\0为啥不对
【在 N******K 的大作中提到】 : 不检查 _data是否已经指向一个东西 : 字符串最后一位是 \0 : 输入const char* 的长度不一定是_len
|
N******K 发帖数: 10202 | 5 原帖是' mitbbs的问题
【在 l*y 的大作中提到】 : 最后一位是\0为啥不对
|
k**********g 发帖数: 989 | 6
这是 神写手 写的麽?
【在 b*******s 的大作中提到】 : 【 以下文字转载自 Joke 讨论区 】 : 发信人: fuckthrust (...), 信区: Joke : 标 题: IBM高级软件工程师老印的示例代码,大家看看有多少个bug? (转载 (转载) : 发信站: BBS 未名空间站 (Sat Mar 22 22:59:37 2014, 美东) : 发信人: fuckthrust (...), 信区: Military : 标 题: IBM高级软件工程师老印的示例代码,大家看看有多少个bug? (转载) : 发信站: BBS 未名空间站 (Sat Mar 22 22:58:24 2014, 美东) : 发信人: winetricks (winetricks), 信区: JobHunting : 发信站: BBS 未名空间站 (Sat Mar 22 10:46:35 2014, 美东) : http://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/
|
d****i 发帖数: 4809 | 7 这尼玛是人写的吗?N多的错误都数不清了。。。居然还是AIX的文档范例,还好AIX都
是C写的,要不实在是有辱AIX高端大气上档次的历来美名。
【在 b*******s 的大作中提到】 : 【 以下文字转载自 Joke 讨论区 】 : 发信人: fuckthrust (...), 信区: Joke : 标 题: IBM高级软件工程师老印的示例代码,大家看看有多少个bug? (转载 (转载) : 发信站: BBS 未名空间站 (Sat Mar 22 22:59:37 2014, 美东) : 发信人: fuckthrust (...), 信区: Military : 标 题: IBM高级软件工程师老印的示例代码,大家看看有多少个bug? (转载) : 发信站: BBS 未名空间站 (Sat Mar 22 22:58:24 2014, 美东) : 发信人: winetricks (winetricks), 信区: JobHunting : 发信站: BBS 未名空间站 (Sat Mar 22 10:46:35 2014, 美东) : http://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/
|
d********u 发帖数: 5383 | 8 在天朝,实例程序从来都是错的,能编译的就是高质量了。
楼上诸位一看就是从没看过天朝计算机书籍的。
【在 b*******s 的大作中提到】 : 【 以下文字转载自 Joke 讨论区 】 : 发信人: fuckthrust (...), 信区: Joke : 标 题: IBM高级软件工程师老印的示例代码,大家看看有多少个bug? (转载 (转载) : 发信站: BBS 未名空间站 (Sat Mar 22 22:59:37 2014, 美东) : 发信人: fuckthrust (...), 信区: Military : 标 题: IBM高级软件工程师老印的示例代码,大家看看有多少个bug? (转载) : 发信站: BBS 未名空间站 (Sat Mar 22 22:58:24 2014, 美东) : 发信人: winetricks (winetricks), 信区: JobHunting : 发信站: BBS 未名空间站 (Sat Mar 22 10:46:35 2014, 美东) : http://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/
|
e*******n 发帖数: 69 | 9 什么情况下,变量名以下划线起始?
【在 b*******s 的大作中提到】 : 【 以下文字转载自 Joke 讨论区 】 : 发信人: fuckthrust (...), 信区: Joke : 标 题: IBM高级软件工程师老印的示例代码,大家看看有多少个bug? (转载 (转载) : 发信站: BBS 未名空间站 (Sat Mar 22 22:59:37 2014, 美东) : 发信人: fuckthrust (...), 信区: Military : 标 题: IBM高级软件工程师老印的示例代码,大家看看有多少个bug? (转载) : 发信站: BBS 未名空间站 (Sat Mar 22 22:58:24 2014, 美东) : 发信人: winetricks (winetricks), 信区: JobHunting : 发信站: BBS 未名空间站 (Sat Mar 22 10:46:35 2014, 美东) : http://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/
|
N******K 发帖数: 10202 | 10 装13的情况下
【在 e*******n 的大作中提到】 : 什么情况下,变量名以下划线起始?
|
|
|
J***o 发帖数: 553 | 11 写库的时候类私有变量下划线起始很常见啊,类似m_。也有很多用下划线结尾。
【在 e*******n 的大作中提到】 : 什么情况下,变量名以下划线起始?
|
d********f 发帖数: 43471 | 12 没办法,这就是我说的C++的问题,这玩意太容易写出bug,哪怕你号称十年20年经验,
但是你要不是一直写,写出来的就这玩意。所以你要是找C++马工,宁可找一个1M的别
找10个100K的
【在 b*******s 的大作中提到】 : 【 以下文字转载自 Joke 讨论区 】 : 发信人: fuckthrust (...), 信区: Joke : 标 题: IBM高级软件工程师老印的示例代码,大家看看有多少个bug? (转载 (转载) : 发信站: BBS 未名空间站 (Sat Mar 22 22:59:37 2014, 美东) : 发信人: fuckthrust (...), 信区: Military : 标 题: IBM高级软件工程师老印的示例代码,大家看看有多少个bug? (转载) : 发信站: BBS 未名空间站 (Sat Mar 22 22:58:24 2014, 美东) : 发信人: winetricks (winetricks), 信区: JobHunting : 发信站: BBS 未名空间站 (Sat Mar 22 10:46:35 2014, 美东) : http://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/
|
b*******s 发帖数: 5216 | 13 烙印还是适合java
【在 d********f 的大作中提到】 : 没办法,这就是我说的C++的问题,这玩意太容易写出bug,哪怕你号称十年20年经验, : 但是你要不是一直写,写出来的就这玩意。所以你要是找C++马工,宁可找一个1M的别 : 找10个100K的
|
d********f 发帖数: 43471 | 14 还有一个原因ibm招人都不考写代码的,不管是国内还是这里。他们招的人都是写
pseudo code发文章的
【在 b*******s 的大作中提到】 : 烙印还是适合java
|
m****a 发帖数: 2593 | 15 对啊,就像一个人号称是建筑师,其实整天在担心造房子的砖头平不平,
脑细胞都死在这些民工才care的细节里了
【在 d********f 的大作中提到】 : 没办法,这就是我说的C++的问题,这玩意太容易写出bug,哪怕你号称十年20年经验, : 但是你要不是一直写,写出来的就这玩意。所以你要是找C++马工,宁可找一个1M的别 : 找10个100K的
|
k**********g 发帖数: 989 | 16
刚好相反。你再想想,是100K的会写代码还是1M的会写。
【在 d********f 的大作中提到】 : 没办法,这就是我说的C++的问题,这玩意太容易写出bug,哪怕你号称十年20年经验, : 但是你要不是一直写,写出来的就这玩意。所以你要是找C++马工,宁可找一个1M的别 : 找10个100K的
|
l*********s 发帖数: 5409 | 17 exactly :-)
【在 k**********g 的大作中提到】 : : 刚好相反。你再想想,是100K的会写代码还是1M的会写。
|
d****e 发帖数: 839 | |
g*******1 发帖数: 103 | |
h**********l 发帖数: 6342 | 20 memory leak.......
【在 g*******1 的大作中提到】 : 不知道那个长度从哪来的。
|
|
|
z*y 发帖数: 1311 | 21
You need to read the whole code.
_len is initiated from a source string,
then _init_data copy the data.
【在 g*******1 的大作中提到】 : 不知道那个长度从哪来的。
|
n******t 发帖数: 4406 | 22 这么长一堆垃圾,实际干事的就他妈memcpy,有病啊。
【在 b*******s 的大作中提到】 : 【 以下文字转载自 Joke 讨论区 】 : 发信人: fuckthrust (...), 信区: Joke : 标 题: IBM高级软件工程师老印的示例代码,大家看看有多少个bug? (转载 (转载) : 发信站: BBS 未名空间站 (Sat Mar 22 22:59:37 2014, 美东) : 发信人: fuckthrust (...), 信区: Military : 标 题: IBM高级软件工程师老印的示例代码,大家看看有多少个bug? (转载) : 发信站: BBS 未名空间站 (Sat Mar 22 22:58:24 2014, 美东) : 发信人: winetricks (winetricks), 信区: JobHunting : 发信站: BBS 未名空间站 (Sat Mar 22 10:46:35 2014, 美东) : http://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/
|
p*u 发帖数: 2454 | 23 check out Herb Sutter's "Exceptional C++"; he dedicated a whole chapter to
this. |
t****t 发帖数: 6806 | 24 完整的code错得没那么离谱, 不过还是很明显的. 最显眼的错误在
operator=的时候, 原来的内存没释放. 另外new和free配对也是错的. 其余小细节就不
说了.
【在 z*y 的大作中提到】 : : You need to read the whole code. : _len is initiated from a source string, : then _init_data copy the data.
|