通过这个例子边可以看出区别,而且注意一定要用标准C++的样式
打好基础
#include <iostream>
#include <cstdlib>
using namespace std;
int add1CallByValue(int t); //define function prototype
void add1ByPointer(int* t);
void add1ByReferrence(int& t);
int main(void)
{
int count=12;
std::cout<<"add1CallByValue";
add1CallByValue(count); //call by value
std::cout<<count<<endl;
std::cout<<"add1CallByPointer";
add1ByPointer(&count); //call by pointer
std::cout<<count<<endl;
std::cout<<"add1ByReferrence";
add1ByReferrence(count); //call by referrence
std::cout<<count<<endl;
system("pause");
return(0);
}
int add1CallByValue(int t)
{
return(t+1);
}
void add1ByPointer(int* p)
{
*p+=1;
}
void add1ByReferrence(int& t)
{
t+=1;
}