c++ - 我不明白这个 C/C++ 笑话

标签 c++ c

看完这篇article在 thedailywtf.com 上,我不确定我是否真的听懂了这个笑话。

上面说有人修改了代码

int function() 
{ 
  int x;
  char data_string[15];
  ...
  x = 2;
  strcpy(data_string,"data data data");
  ...
}

int function() 
{
  int x = 2;
  char data_string[15] = "data data data";
  ...
}

代码中的每一个地方,并且出于某种原因确实将可执行文件的大小从 1 张 CD 扩大到 2 张 CD(或者它没有这样做?)。

很明显,我对 C/C++ 不够熟悉,无法开这个玩笑,但最奇怪的是,第二个代码 list 似乎“更干净”——至少从我在学校被告知的情况来看(即初始化变量是好事,不是坏事)。

最佳答案

OIC,这是一个源代码流失问题

乍一看,这两种形式是等价的。第二个确实看起来更好,但他们做同样的事情。

但后来我阅读了引用的页面。

问题是新人搅动了源代码树,很多。在巨大的源代码树中滚动并进行无意义的更改是一种糟糕的形式。当然,也许一种风格比另一种稍好,但在实践中,在将 1,000 个增量放入源代码控制系统中供人们永远涉足之前,它应该好很多

我怀疑这是源代码发布,或者其他一些未提及的复杂性导致编辑了这么多文件以扩大其分发范围。对该网站的贡献进行了相当多的编辑,但基本上这个问题是可以理解的,无需具体说明。

编辑大量文件以更改样式的问题之一是意外错误的可能性增加。当初级开发人员这样做时,这个机会会大大增加。即使对于有经验的人,也需要考虑墨菲定律。如果它发生在发布之前,那真的是一个悬而未决的罪行。

关于c++ - 我不明白这个 C/C++ 笑话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1420009/

相关文章:

c++ - 在包含 std::vector 的结构上进行 Malloc

c++ - 多线程环境中的全局数据行为,C++

c - 简单链表-C

c - 使用函数计算矩形的长度和面积的程序

c++ - 包装非类型模板常量以避免混合相同类型的参数

c++ - 从 vector 中检索字符串

c - 从终端主机读取直播流数据

c - 在递归函数中传递指向结构的指针

c - 使用 epoll 在客户端监听不同的多播套接字

opengl - 代码::阻止对 "*"的 undefined reference