- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在this问题,我试图举例说明在 C++ 中做同样事情的两种方法:一段简短但复杂的“花哨”代码;以及一种更长但更易读和更容易理解的方式来做同样的事情。该问题询问是拥有一段经过良好注释的精美代码还是一段 self 注释(即没有注释)的较长版本更好。
我的例子的问题是花哨的版本比非花哨的版本更容易理解。由于我想不出任何好的例子,我想我会试着在这里问。所以我需要的是两个产生完全相同结果的 C++ 代码示例,但在一个版本中,代码很短但非常复杂,如果不考虑它就无法立即理解,以及一个更长但更易读和理解的版本.
我希望有人看到花哨的版本然后说“妈的,这太复杂了。我很高兴它被评论了,否则我不会理解它的作用”然后看着更长的版本然后说“啊,我理解它的作用,即使没有评论”。较短的例子应该是 1-10 行,较长的例子应该是 10-30 行。
最佳答案
这个怎么样?
//direct formula for xoring all numbers from 1 to N
int Sum = (N & (N % 2 ? 0 : ~0) | ( ((N & 2)>>1) ^ (N & 1) ) );
代替:
int Sum = 0;
for (int i = 1; i < N; ++i)
{
Sum ^= i; //or Sum = Sum ^ i;
}
公式取自here
关于c++ - 需要一个简短、复杂的 C++ 代码和一个更长、易于理解的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3948111/
所以我的问题是: 为什么(以及如何避免)C# 中的 Is 运算符的生命周期比 if 中使用的更长? 例子: Animal a = new Cat(); if (a is Cat c) { Co
我遇到了这个问题,我已经尝试解决了很长一段时间。理想情况下,我希望 particles.js 的“生成框”向下延伸到页面底部(由 fullpage.js 计算的 7 x viewport),这样当使用
我想让一个 div(我的侧边栏)延伸到页面底部。我知道我需要添加“高度:100%;”为了做到这一点。 但是当我添加 height: 100%; 时,内容少于侧边栏的页面会降低侧边栏的高度,然后您就看不
只有我这么认为吗,还是在 SQL Server 2008 Management Studio 中扩展数据库列表比在 SQL Server 2005 Management Studio 中扩展数据库列表
我是一名优秀的程序员,十分优秀!