Qtで、最近ほとんど使ってなかったポインタや参照をC++で久しぶりに使うことになったが、ほとんど忘れていた。少し復習してみた。
#include <iostream>
using namespace std;
int func(int& x);
int func2(int* y);
using namespace std;
int func(int& x);
int func2(int* y);
int main(void){
int a=10;
// int& x= では別名にしたい変数をもってくる ①
// int x= ではコピーしたい変数をもってくる(関数型言語ではこちらの手法)
int &b=a; //参照渡し (1)
printf("%d\n",b);
b=11;
int b2=a; //コピー渡し
printf("%d\n",b2);
b2=12;
// int* y= ではアドレスを代入 ②
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がアドレスのときの値
0 件のコメント:
コメントを投稿