使用&符進行引用涉茧,引用的作用是為變量取一個別名,使用別名既是變量垄琐。
int a = 10;
int&b = a;
b = 20;
std::cout << "\n" << a << "\n" << std::endl;
引用可以作為函數(shù)的返回值订讼,作用是直接可以對返回值進行賦值。
int c= 10;
int & test_a()
{
return c;
}
int main()
{
test_a() = 40;
std::cout << "\n" << c << "\n" << std::endl;
}
引用還可以為常引用 相满,常引用通過定義時的constl來將普通引用變?yōu)槌R茫R玫囊馑紴殍胱洌豢梢酝ㄟ^該引用來修改變量的值立美。
int main()
{
int j = 10;
const int &i = j;
std::cout << "\n" << i << "\n" << std::endl;
//i = 10;編譯不通過
}
非常引用可以初始化常引用。
int main()
{
int a = 10;
int &b = a;
const int &c = b;
std::cout << "\n" << b << "\t" << c << "\n" << std::endl;
}
常引用不能初始化非常引用闸盔。
int main()
{
int a = 10;
const int &b = a;
//int &c = b將限定符會丟失
//std::cout << "\n" << b << "\t" << c << "\n" << std::endl;
//編譯錯誤
}
函數(shù)的形參使用const進行限定可以防止函數(shù)修改數(shù)據(jù)悯辙。
void test_a(const char *chuan)
{
//strcpy(chuan, "hehe");? 防止函數(shù)修改內(nèi)容
printf("%s", chuan);
}
int main()
{
test_a("這是一條測試語句");
}
不可以通過常引用來修改引用的內(nèi)容琳省。
int main()
{
int a = 10;
const int &b = a;
b = 20;//編譯錯誤
}