2025年11月14日金曜日

C++の参照、ポインタ復習

 Qtで、最近ほとんど使ってなかったポインタや参照をC++で久しぶりに使うことになったが、ほとんど忘れていた。少し復習してみた。

#include <iostream>
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 件のコメント:

コメントを投稿