C++ 后缀的优先级++;

C++ 后缀的优先级++;,c++,operators,C++,Operators,考虑以下代码: int a = 5; int b = a++; cout << "b is " << b << endl; // b is 5 inta=5; intb=a++; cout内置类型的postfix++操作符(和postfix--operator)的约定是,它返回以前的值,而不管发生了什么更改。因此,函数仍然返回5,即使接收更改的变量在之后被分配6。对于内置类型,后缀++运算符(和后缀--运算符)的约定是,它返回以前的值,而不管发生了什么更改

考虑以下代码:

int a = 5;
int b = a++;
cout << "b is " << b << endl; // b is 5 
inta=5;
intb=a++;

cout内置类型的postfix++操作符(和postfix--operator)的约定是,它返回以前的值,而不管发生了什么更改。因此,函数仍然返回
5
,即使接收更改的变量在之后被分配
6

对于内置类型,后缀++运算符(和后缀--运算符)的约定是,它返回以前的值,而不管发生了什么更改。因此,该函数仍然返回
5
,即使接收到更改的变量在之后被分配
6

根据,emphasis mine

后缀++表达式的值是其操作数的值。[ 注:获得的值是原始值的副本- 尾注 ]

++表达式的值计算在 修改操作数对象。关于 不确定顺序的函数调用,后缀的操作++ 这是一个单一的评估

inta=5;
int b=a++;//a的值计算为
//未修改/未增加的值
//哪一个是5
std::cout根据,强调我的

后缀++表达式的值是其操作数的值[ 注:获得的值是原始值的副本- 尾注 ]

++表达式的值计算在 修改操作数对象。关于 不确定顺序的函数调用,后缀的操作++ 这是一个单一的评估

inta=5;
int b=a++;//a的值计算为
//未修改/未增加的值
//哪一个是5
标准::cout
int get_number(){
    int a = 5;
    return a++;
}
int main(){
    int b = get_number();
    cout << "b is " << b << endl; // b is 5
}
int a = 5;
int b = a++; // the value computation for a is
             // the non-modified / non-incremented value
             // which is 5

std::cout << "a is " << a << std::endl; // a is 6
std::cout << "b is " << b << std::endl; // b is 5