日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

按值传递按引用传递按地址传递

發布時間:2025/7/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 按值传递按引用传递按地址传递 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

按值傳遞:不改變外部對象


按引用傳遞&&按地址傳遞:允許改變外部對象

?

#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;

//passing by refedrence
void f(int &r)
{
??? cout << "r = " << r << endl;
??? cout << "&r = " << &r << endl;
??? r = 5 ;
??? cout << "r = " << r << endl;
}

//passing by value
void f(int a)
{
??? cout<<"a= "<<a<<endl;
??? a = 5;
??? cout << "a= " << a <<endl;
}

//passing by address
void f(int *p)
{
??? cout << "p = " << p << endl;
??? cout << "*p = " << *p << endl;
??? *p = 5;
??? cout << "p = " << p << endl;
}

int main()
{
//passing by reference
int x = 47 ;
cout << "x = " << x <<endl;
cout << "&x = " << &x << endl;
f(x);//Looks like pass-by-value
????? //is actually pass by reference
cout << "x = " << x << endl;
//output
x = 47
&x = 0x7FFF1D5C9B4C
r = 47
&r = 0x7FFF1D5C9B4C
r = 5
x = 5

//passing by address
int x = 47;
cout << "x = " << x << endl;
cout << "&x = " << &x << endl;
f(&x);
cout << "x = " << x << endl;
//output

x = 47
&x = 0x7FFF9746423c
p = 0x7FFF9746423c
*p = 47
p = 0x7FFF9746423c
x = 5


//passing by value
int x = 97 ;
cout << "x=" << x <<endl;
f(x);
cout << "x=" << x <<endl;
//output
///
x = 47
a = 47
a = 5
x = 47
}

轉載于:https://www.cnblogs.com/shaoguangleo/archive/2010/10/26/2805843.html

總結

以上是生活随笔為你收集整理的按值传递按引用传递按地址传递的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。