なぜ* x = * x + 1;のようにすることができますか?* x = * x ++;何の影響もないようですか? コード: // Example program
#include <iostream>
#include <string>
using namespace std;
void doSomething(int *x, int *y)
{
*x = *x++;
プリインクリメント演算子を使用している間、マクロ関数のこの奇妙な動作に気付きました。私はマクロで前インクリメント演算子を使用することは好ましくない知っているが、それでも私は、次の2つのコードの実行の背後にある理由を知りたいのですが: #include <stdio.h>
#define SQR(x) {x*x }
int main()
{
int a=4;
int b