小编Joe*_*eda的帖子

是否要求短路逻辑运营商?和评估顺序?

ANSI标准是否要求逻辑运算符在C或C++中被短路?

我很困惑,因为我记得K&R的书说你的代码不应该依赖于这些操作被短路,因为它们可能没有.有人可以指出标准中的哪个位置逻辑操作始终是短路的吗?我最感兴趣的是C++,C的答案也很棒.

我还记得读(不记得在哪里)评估顺序没有严格定义,所以你的代码不应该依赖或假设表达式中的函数将按特定的顺序执行:在语句的末尾所有引用的函数将被调用,但编译器可以自由选择最有效的顺序.

标准是否表明该表达式的评估顺序?

if( functionA() && functionB() && functionC() ) cout<<"Hello world";
Run Code Online (Sandbox Code Playgroud)

c c++ operator-precedence short-circuiting logical-operators

137
推荐指数
5
解决办法
3万
查看次数

何时使用EXCEPT而不是Transact SQL中的NOT EXISTS?

我刚刚通过阅读同事编写的代码了解到SQL Server中存在新的"EXCEPT"子句(有点晚了,我知道......).这真让我惊讶!

但后来我对它的使用有一些疑问:什么时候建议使用它?使用它与使用"AND NOT EXISTS ..."的相关查询之间是否存在性能差异?

在阅读了BOL中的EXCEPT文章之后,我认为它只是第二个选项的简写,但是当我用它重写了几个查询时(因为他们对我更熟悉的"AND NOT EXISTS"语法)然后检查了,我感到很惊讶.执行计划 - 惊喜!EXCEPT版本的执行计划更短,执行速度也更快.总是这样吗?

所以我想知道:使用这个强大的工具的准则是什么?

sql t-sql sql-server performance sql-server-2005

38
推荐指数
4
解决办法
6万
查看次数

真的需要继承吗?

我必须承认我有点像OOP怀疑论者.面向对象的不良教学和实验经验无济于事.所以我转变成了Visual Basic中的狂热信徒(经典之作!).

然后有一天我发现C++已经改变了,现在有了STL和模板.我真的很喜欢!使语言有用.然后另一天MS决定对VB进行面部手术,我真的很讨厌无端更改的最终结果(使用"end while"而不是"wend"会让我成为一个更好的开发者?为什么不放下"next"for"结束了",为什么呢?为什么强迫getter和setter一起?等等?加上我发现无用的Java特性(例如继承,以及分层框架的概念).

现在,几年后,我发现自己在问这个哲学问题:遗产真的需要吗?

四人一组说我们应该支持对象组合而不是继承.在考虑它之后,我找不到你可以用继承做的事情,你不能用对象聚合和接口做.所以我想知道,为什么我们甚至在第一时间拥有它?

有任何想法吗?我很想看到一个例子,说明继承器肯定需要在哪里,或者使用继承而不是组合+接口可以导致更简单和更容易修改的设计.在以前的工作中,我发现如果你需要更改基类,你还需要修改几乎所有的派生类,因为它们取决于父行为.如果你使基类'方法虚拟...那么没有太多的代码共享发生:(

另外,当我最终创建自己的编程语言(我发现大多数开发人员共享的长期未满足的愿望)时,我认为添加继承没有任何意义......

oop inheritance

32
推荐指数
6
解决办法
6631
查看次数

即使没有明确定义为内联,一个非常短的函数是否可以内联?

我事先知道,当用C或C++编写程序时,即使我将函数声明为"内联",编译器也可以自由地忽略它并决定不在每次(或任何)调用时展开它.

反之亦然吗?也就是说,如果编译器认为这样做会导致性能提升,编译器是否可以自动内联一个非定义为内联的非常短的函数?

另外两个子问题:这种行为是在ANSI标准的某处定义的吗?在这方面C是否与C++不同,或者它们的行为是否相同?

c c++ inline-functions

6
推荐指数
1
解决办法
250
查看次数

有没有办法强制Report Builder在它生成的查询中使用"WITH(NOLOCK)"?

在工作中,用户非常乐意使用Reporting Services的报表生成器生成自己的报表.

但是,唉,它生成的查询非常低效,并且他们不使用"WITH(NOLOCK)" - 减慢每个人的事情.

这些报告确实需要使用最新数据运行 - 无法卸载到报告服务器.由于他们查询非常具体的详细数据,因此超立方体在这里没用.

所以问题是:

有没有办法配置报表生成器的数据模型,以便它生成的查询在查询表时始终使用"WITH(NOLOCK)"?

sql-server reportbuilder reporting-services

2
推荐指数
1
解决办法
1950
查看次数