int * r = * qを理解できません。そして(* R)++;(?ここで、rはアナロジーを形成する方法、=記号の後LHSの整数を指すポインタである)説明* r = * q
#include <iostream>
using namespace std;
int main()
{
int a=100;
int *p=&a;
int **q=&p;
int b=(**q)++;
int *r=*q;
++(*r);
cout<<a<<" "<<b<<endl;
getchar();
}
デバッガでコードをステップ実行し、各行の変数を調べます。 –
'int * r =&a;と実質的に同じ' int * r = p; 'と実質的に同じです。' – WhozCraig
'* r = * q'は' a'へのポインタに 'r'を初期化し、 '++(* r);' deference 'r'を実行して値をインクリメントするので、' a'は '101'になります。 – George