mr_*_*air 4 c programming-languages
这是我在惠普的面试问题.我回答说a ++与a = a + 1相比需要更少的指令;
我想知道哪些在高效编程中有用,以及两者是如何彼此不同的?
希望快速积极的回应..
dar*_*ioo 18
在C中,如果编译器是智能的,则没有区别.
在C++中,它取决于什么类型a
,以及++
运算符是否过载.更复杂的是,=
操作员也可能过载,a = a + 1
可能不一样a++
.对于更复杂的问题,+
操作员也可能会过载,因此一些看似无辜的代码a = a + 1
可能会产生严重影响.
所以,没有一些背景,你根本无法知道.
首先,在C++中,这将取决于类型a
.显然a
可以是类类型并且让那些运算符超载并且不知道细节,因此无法确定哪个更有效.
也就是说,在C和C++中,无论看起来更清洁都是可取的.首先编写清晰的代码,然后对其进行分析,看看它是否无法忍受.