Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        3年前关闭。
                                                                                            
                
        
短路评估可以缩短编译时间,因此我了解到C,C ++正在使用这种方式。但是,是否存在短路评估破坏代码的情况?

最佳答案

短路不会缩短代码的编译时间。 (至少有意义的数量)

这可能会缩短运行时间,但这不是其预期目的。

短路的目的是进行最少的工作以检查特定条件。

例如:

使用&&(而不是单个&)时,如果左侧的操作数为false,则不会评估右侧的操作数。这是由于logical and操作的性质所致:如果至少一个操作数为false,则整个表达式为false。

从技术上讲,如果条件提早失败,它将缩短运行时间,但是保存的运行时间取决于每个操作数内部的表达式。

无论如何,使用&&是不正确的,因为它比&更快。您应该在适当的时候使用。

&用于按位运算。

关于c++ - 是否有任何可能的情况,程序员可能希望避免对 bool 表达式的短路求值? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37378033/

10-11 23:07