跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

C++ 函数中引用与指针传递的学习资源推荐

参数传递的方式:值传递:创建参数的副本;引用传递:指向原始数据的指针;指针传递:需要手动解引用指针访问原始数据。 C++ 函数中引用与指针传递 在 C++ 中传递参数的方式有两种:值传递和引用传递。值传递是创建参数的副本,而引用传递是指向原始数据的指针。 值传递 立即学习 “ C++免费学习笔记(深入) ”; 值传递是最简单的传递方式:
void foo(int value) { value++; // 修改的是 value 的副本 } int main() { int x = 5; foo(x); // 传递 x 的副本 cout << x << endl; // 仍为 5,因为它是一个副本 }
引用传递 C知道 CSDN推出的一款AI技术问答工具 下载 引用传递使用引用符号 (
&
),它创建一个指向原始数据的别名:
void foo(int& value) { value++; // 修改的是原始数据 } int main() { int x = 5; foo(x); // 传递 x 的引用 cout << x << endl; // 6,因为原始数据已被修改 }
指针传递 指针传递与引用传递类似,但它需要手动解引用指针来访问原始数据:
void foo(int* value) { *value++; // 修改的是原始数据 } int main() { int x = 5; foo(&x); // 传递 x 的地址 cout << x << endl; // 6,因为原始数据已被修改 }
实战案例 以下是一个使用引用传递和指针传递的实际示例:
#include using namespace std; // 通过引用传递,返回字符串长度 size_t strlen(const char* str) { return strlen(str); // 利用 C 库函数 } // 通过指针传递,返回字符串最后一个字符 char lastchar(const char* str) { return *str + strlen(str) - 1; // 访问原始字符串的最后一个字符 } int main() { string s = "Hello"; cout << "String length: " << strlen(s.c_str()) << endl; cout << "Last character: " << lastchar(s.c_str()) << endl; }
输出:
String length: 5 Last character: o

相关文章