C#函数参数传值讨论(二)
那么在C++中是如何传值的那?
由于C++完全继承了C的衣钵,所以C的拷贝传值,C++当然会照单全收的。
还记得诡异的引用吗?说实话,我到现在还是没弄明白到底引用是什么东西,看了《C++编程思想》也没找到答案,也许我太愚笨了,没看明白吧,哪位大哥大姐帮忙解释一下......让我姑且说一下它的表象吧!
#include <iostream.h>
void swap(int &,int&);
void main()
{
int a=0;
int b=1;
int c;
swap(a,b);
cout<<a<<b<<endl;
cin>>c;
}
void swap(int &c,int &d)
{
int temp;
temp=c;
c=d;
d=temp;
}
看看对引用的描述吧。我就是Farseer,Farseer就是我,整个一邪教的口气。查看c的地址,确实跟a的地址完全一样,那真的就只能说,c就是a,a就是c了,我还有什么话说那?我想不通的是,变量c这个东西到底存在什么地方那?这是我一直想不明白的。也许可以理解成c就是*(&a)这个伪指针吧!爱在哪里在哪里!
C++的语法细节多如牛毛,曾经把<<C++编程思想>>看了两遍,当时似乎明白了,现在很多语法细节已经完全忘记了.先弄C#吧,还好C#没有C++那么繁琐复杂.感觉C++超过了我的智商,哈哈.
由于C++完全继承了C的衣钵,所以C的拷贝传值,C++当然会照单全收的。
还记得诡异的引用吗?说实话,我到现在还是没弄明白到底引用是什么东西,看了《C++编程思想》也没找到答案,也许我太愚笨了,没看明白吧,哪位大哥大姐帮忙解释一下......让我姑且说一下它的表象吧!
#include <iostream.h>
void swap(int &,int&);
void main()
{
int a=0;
int b=1;
int c;
swap(a,b);
cout<<a<<b<<endl;
cin>>c;
}
void swap(int &c,int &d)
{
int temp;
temp=c;
c=d;
d=temp;
}
看看对引用的描述吧。我就是Farseer,Farseer就是我,整个一邪教的口气。查看c的地址,确实跟a的地址完全一样,那真的就只能说,c就是a,a就是c了,我还有什么话说那?我想不通的是,变量c这个东西到底存在什么地方那?这是我一直想不明白的。也许可以理解成c就是*(&a)这个伪指针吧!爱在哪里在哪里!
C++的语法细节多如牛毛,曾经把<<C++编程思想>>看了两遍,当时似乎明白了,现在很多语法细节已经完全忘记了.先弄C#吧,还好C#没有C++那么繁琐复杂.感觉C++超过了我的智商,哈哈.


浙公网安备 33010602011771号