c++ 类方法中参数传递机制有按值传递和按引用传递两种。按值传递不会修改原始值,按引用传递会直接操作原始值,效率更高。可用于优化交换变量值所需时间,提高效率。

C++ 类方法的参数传递机制
在 C++ 中,类方法中的参数可以通过以下方式传递:
按值传递 (Pass-by-Value)
立即学习“C++免费学习笔记(深入)”;
- 优点:原始值不会被修改,保持参数值不变。
- 缺点:效率较低,因为拷贝了值。
按引用传递 (Pass-by-Reference)
- 优点:高效,因为直接操作原始值。
- 缺点:需要特别注意,因为可以修改原始值。
示例代码:
// 按值传递
void printValue(int x) {
x++; // 不会修改原始值
std::cout << x << std::endl;
}
// 按引用传递
void printAndModifyReference(int& x) {
x++; // 会修改原始值
std::cout << x << std::endl;
}
int main() {
int a = 5;
std::cout << "按值传递(结果为 5):" << std::endl;
printValue(a);
std::cout << "按引用传递(结果为 6):" << std::endl;
printAndModifyReference(a);
return 0;
}
实战案例:
在编写一个交换两个数的方法时,按引用传递可以节省拷贝值的时间,提高效率。
示例代码:
void swap(int& x, int& y) {
int temp = x;
x = y;
y = temp;
}
int main() {
int a = 5;
int b = 10;
swap(a, b); // 原始值会被交换
std::cout << "a = " << a << std::endl; // 输出:10
std::cout << "b = " << b << std::endl; // 输出:5
}









