卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章78052本站已运行446

指针在 C++ 函数演变中的作用

指针在 c++ 函数演变中的作用

指针在 C++ 函数演变中的作用

在 C++ 中,指针是重要的数据类型,用于存储其他变量或对象的地址。它们在函数中发挥着至关重要的作用,使函数能够修改传递给它们的变量或对象,从而实现更大的灵活性。

1. 传递按值传递的参数

默认情况下,C++ 中的参数按值传递,这意味着函数接收变量或对象的副本。更改函数内的副本不会影响原始变量或对象。

立即学习“C++免费学习笔记(深入)”;

void add(int x) {
  x += 1;  // 仅修改函数内的 x 副本
}

int main() {
  int y = 5;
  add(y);  // 原始 y 不受函数影响,仍为 5
}

2. 传递按引用传递的参数

使用指针可以按引用传递参数,允许函数修改原始变量或对象。为此,我们将参数声明为指针:

void add(int* x) {
  *x += 1;  // 通过指针修改原始 x
}

int main() {
  int y = 5;
  add(&y);  // 传递 y 的地址
  // 原始 y 已修改,现在为 6
}

3. 返回指针

函数也可以返回指针,这允许函数返回其他变量或对象的地址。这在分配动态内存或获取容器的迭代器时很有用。

int* createArray(int size) {
  return new int[size];  // 分配新数组并返回其地址
}

int main() {
  int* arr = createArray(10);
  // arr 指向动态分配的数组
  delete[] arr;
}

4. 实战案例:交换两个整数

这是一个实战案例,展示指针如何在函数中用于实现值交换:

void swap(int* a, int* b) {
  int temp = *a;
  *a = *b;
  *b = temp;
}

int main() {
  int x = 5;
  int y = 10;
  swap(&x, &y);
  // x 现在为 10,y 现在为 5
}
卓越飞翔博客
上一篇: Golang 函数调用是如何与协程配合使用的?
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏