Qtで、最近ほとんど使ってなかったポインタや参照をC++で久しぶりに使うことになったが、ほとんど忘れていた。少し復習してみた。
using namespace std;
int func(int& x);
int func2(int* y);
int main(void){
int a=10;
int &b=a; //参照渡し (1)
printf("%d\n",b);
b=11;
int b2=a; //コピー渡し
printf("%d\n",b2);
b2=12;
int *c=&a; //参照
printf("%d\n",*c);
char* e="a";
printf("%s\n",e);
// 関数の引数でも同様
int d=func(a);
printf("%d",d);
int g=func2(&a);
printf("%d",g);
}
int func(int& x){ //参照 渡し ①
return x;
}
int func2(int* y){ // ②
return *y;
}
・&xはxのアドレス *yはyがアドレスのときの値 なので、&と*は逆関数の関係ともいえそう。 *(&x) == x &(*p) == p