首页 > 文章列表 > C++ 类方法的参数传递机制

C++ 类方法的参数传递机制

类方法 参数传递
374 2025-03-19

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

C++ 类方法的参数传递机制

C++ 类方法的参数传递机制

在 C++ 中,类方法中的参数可以通过以下方式传递:

按值传递 (Pass-by-Value)

  • 优点:原始值不会被修改,保持参数值不变。
  • 缺点:效率较低,因为拷贝了值。

按引用传递 (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
}