`
newton21012915
  • 浏览: 60415 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

++i与i++效率比较

阅读更多
//因为i是基本类型int,而且没有用到整个表达式的值,所以在楼主的情况下,两种写法是一样的
//下面换一种,i不是基本类型,比如类类型,根据Effective C++的条款,使用了里面的手法:前置的++实作一个后置的++至于为什么,请看Effective C++

#include <iostream>
using namespace std;
class Int
{
    int data;
public:
    Int(int value = 0) : data(value){}
    operator int (){return data;}
    Int& operator ++(){++data;return *this;}
    Int operator ++(int){Int t = *this; ++*this;cout << 0;return t;}
};

int main()
{
    for (Int i = 0; i < 8; ++i)
        cout << i;
        cout << endl;
    for (Int i = 0; i < 8; i++)
        cout << i;
    return 0;
}
分享到:
评论

相关推荐

    谈谈Java中的i++

    这是和JVM的内存分配有关,JVM在处理这段带代码时,会先把i++的结果赋值给一个临时变量temp,然后再将这个临时变量的值赋值给i。即如下: int i = 0; int temp; // i = i++; int a = temp = i++;// 临时变量...

    关于i++和++i以及左值,右值

    在实际编程中,i++和++i的效率差异往往被忽略,因为对于内置类型,在大多数编译器中,i++和++i的效率是相同的,编译器会进行优化。然而,对于自定义类型,尤其是当重载了前缀和后缀的自增运算符时,使用++i通常更为...

    浅析PHP中的i++与++i的区分及效率_.docx

    从效率角度来说,i++ 和 ++i 都是 O(1) 的操作,无论是前缀递增还是后缀递增,都不会对性能产生影响。 PHP session 传递方式 在 PHP 中,session 可以通过多种方式来传递,包括 GET 方式、表单隐蔽值方式和文件...

    I++ DME2.0

    本标准旨在实现不同厂商的尺寸测量设备之间的无缝集成与数据交换,提高测量效率并降低集成成本。 根据I++ DME2.0的介绍部分,我们可以了解到以下几个关键点: 1. **目标与宗旨**:I++ 工作组的目标是尽快在相关的...

    c++的左值右值 i++与++i的区别.docx

    C++ 中的左值和右值、i++ 与 ++i 的区别 在 C++ 编程语言中,左值(Lvalue)和右值(Rvalue)是两个重要的概念,它们在变量和表达式中的角色不同,理解这两个概念对于编写正确和高效的代码非常重要。 左值(Lvalue...

    浅析PHP中的i++与++i的区别及效率

    先看看基本区别: i++ :先在i所在的表达式中使用i的当前值,后让i加1 ...再给大家详细说下++i 与 i++ 的区别 1、++i 的用法(以 a=++i ,i=2 为例) 先将 i 值加 1 (也就是 i=i+1 ),然后赋给变量 a (也就

    C++面试题:++i和i++哪个效率高?

     2、我们自定的数据类型,++i效率高于i++,通过运算符重载来给大家说明这一点。 Operator Operator::operator++() { ++value; //内部成员变量 return *this; } Operator Operator::operator++(int) { ...

    i++循环与i-–循环的执行效率(递增与递减效率)

    在比较递增(i++)与递减(i--)操作的效率时,重点是关注它们在循环中的性能表现。 2. 状态寄存器(CPSR)的影响:在一些处理器架构(如ARM架构)中,递增和递减操作会影响程序状态寄存器(CPSR)中的不同标志位。例如...

    I++ DME1.7

    通过这种方式,可以促进不同制造商之间的测量设备与软件系统的互操作性,降低集成成本,提高生产效率。 - **无许可费用**:成员公司放弃收取许可费用的权利,这有助于降低采用此接口的成本。 - **专利法限制**:...

    探讨++i与i++哪个效率更高

    在自定义数据类型的情况下,++i效率更高! 分析: (自定义数据类型的情况下) ++i返回对象的引用; i++总是要创建一个临时对象,在退出函数时还要销毁它,而且返回临时对象的值时还会调用其拷贝构造函数。 (重载这两个...

    php中++i 与 i++ 的区别

    3. `++i` 与 `i++` 的比较: 在赋值语句中,两者的主要区别在于赋值发生的时间点。`++i` 会在赋值之前增加 `i`,而 `i++` 则会在赋值之后增加 `i`。这意味着如果你将自增操作符用于赋值给另一个变量,结果会有所...

    为什么(i++)不能做左值,而(++i)可以

    与之相对的是前缀递增运算符++i的实现,它通常不需要额外的空间,直接对原始变量进行修改。因此,前缀递增运算符返回的是对原始变量的引用,允许对原始变量的内存地址进行操作,如下所示: ```cpp int i = 0; int* ...

    Notepad++ Plus_i586 21.10.2 Aurora

    《Notepad++ Plus_i586 21.10.2 Aurora:一款增强型文本编辑器的深度解析》 Notepad++ Plus_i586 21.10.2 Aurora,是一款针对Windows操作系统设计的增强型文本编辑器,相较于微软系统自带的记事本,它提供了一系列...

    C#多线程问题2-简单案例-i++ c#经典案例.pdf

    多线程编程是C#编程语言的重要特性,它允许程序同时执行多个任务来提高程序的执行效率。然而,在多线程编程中,我们需要面临一个重要的问题,即资源共享问题。在多线程环境下,如果多个线程同时访问同一个资源,可能...

    JS for循环中i++ 和 ++i的区别介绍

    JS(JavaScript)是一种广泛应用于网页开发中的编程语言,它支持多种运算符,其中自增运算符(包括i++和++i)是经常被使用到的。在for循环中,这两种写法看似简单,实则蕴含着不同的逻辑和性能差异。因此,了解它们...

    超微X9DRi_3-LN4F+说明书

    在安全性方面,X9DRi_3-LN4F+内置了多种硬件防护机制,例如超微的Server Management,支持远程管理功能,帮助IT管理员远程监控和维护服务器运行状态,从而降低维护成本并提高效率。 关于供电方面,该主板支持冗余...

    jenkins+k8s+docker+harbor的ci、cd操作

    jenkins+k8s+docker+harbor的ci、cd操作 Jenkins 是一个流行的自动化服务器,可以实现持续集成(CI)和持续交付(CD)。在这个文件中,我们将通过 ...通过自动化的 CI/CD 操作,可以降低错误率,提高团队协作效率。

    java代码-i=3; a=i++; i+=a; \u6c42i=

    在Java编程语言中,`i=3; a=i++;...在团队合作中,清晰地编写和理解代码能够提高工作效率,减少错误,并促进有效的沟通。因此,不断学习和熟练掌握编程基本概念对于任何Java开发者来说都至关重要。

Global site tag (gtag.js) - Google Analytics