c++ - 全局变量增量如何在 C++ 中工作

标签 c++

#include <iostream>

int counter = 0;

int f(){
    return counter++;
}

int main(){
    std::cout << f(); //output = 0
    std::cout << f()+f(); // output = 1;
    return 0;
}

这可能是个愚蠢的问题,但为什么 f() 在第一种情况下不等于 1 而不是 0? 我以为 counter++counter = counter + 1 一样?

最佳答案

没有。 counter++ 更接近 (counter = counter + 1) - 1

关于c++ - 全局变量增量如何在 C++ 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43404010/

相关文章:

c++ - 在 C++ 中通过 char * 对 char 进行操作时 "&&"是什么意思?

c++ - 为整数类型重载运算符 ^

c++ - 我应该如何构造带有页面地址的数组(文本编辑器类)

c++ - bool 运算符可以与预处理器一起使用吗?

c++ - 使用 boost::hana 过滤具有类型的列表

c++ - ZeroMq:打开的文件太多。同一对象上的 fd 使用量持续增长

c++ - 访问具有多重继承和模板的基类成员

c++ - 构造字符串 ("Plain Old C chain") 是右值吗?

c++ - 动态地形 block 生成

c++ - 将窗口设置为始终在 Windows 7 上的桌面上