C++编程:理解引用与字符串赋值

需积分: 10 0 下载量 183 浏览量 更新于2024-07-14 收藏 277KB PPT 举报
"C++语言中的字符串定义和赋值方法,以及引用的概念和使用" 在C++编程语言中,字符串是一种非常重要的数据类型,用于处理文本数据。在C++基础的第二讲中,我们重点关注了字符串的定义、赋值以及引用这一特殊的变量类型。 首先,字符串在C++中通常是通过`string`类来处理的。例如,我们可以像这样定义一个空的字符串变量`s1`: ```cpp string s1; ``` 然后,我们可以给这个变量赋值,例如将字符串"Hello"赋给`s1`: ```cpp s1 = "Hello"; ``` 另外,我们也可以在定义字符串变量时直接初始化,如`s2`: ```cpp string s2 = "China"; ``` 字符串变量之间可以通过赋值操作进行复制,如下所示: ```cpp s2 = s1; ``` 此外,字符串的元素是可以被访问和修改的。例如,如果我们想要将`word`字符串的第三个字符(下标从0开始)改为'a',我们可以这样做: ```cpp string word = "Then"; word[2] = 'a'; // word 变为 "Than" ``` 接下来,我们转向了C++的一个关键特性——引用。引用实际上是变量的一个别名,它提供了另一种方式来访问已存在的变量,而不需要创建新的存储空间。定义一个引用,比如给变量`a`创建一个引用`b`,可以这样写: ```cpp inta; int&b = a; ``` 这里的`&`符号在声明引用时不是取地址运算符,而是表示`b`是`a`的引用。这意味着`b`和`a`指向同一个内存位置,对`b`的操作会影响到`a`的值。需要注意的是,引用一旦定义就必须立即初始化,并且不能改变其引用的对象。 以下是一个简单的例子,展示了引用如何工作: ```cpp inta = 10; int&b = a; a = a * a; // a 和 b 的值都变为 100 cout << a << "" << b << endl; // 输出:100 100 b = b / 5; // b 和 a 的值都变为 20 cout << b << "" << a << endl; // 输出:20 20 ``` 引用在函数参数中特别有用,因为它们允许函数直接修改调用者提供的变量,而不仅仅是复制其值。例如,如果我们想要编写一个交换两个整数的函数,使用引用可以确保原始变量的值发生变化: ```cpp void swap(int& a, int& b) { int temp; temp = a; a = b; b = temp; } int main() { int i = 3, j = 5; swap(i, j); // 此处使用引用,i 和 j 的值会发生交换 cout << i << "," << j << endl; // 输出:5,3 return 0; } ``` 在上面的代码中,`swap`函数的参数`a`和`b`是整数引用,因此函数内部对`a`和`b`的更改会直接影响到函数外部的`i`和`j`。这与直接传递变量或其指针的效果不同,后者可能无法实现值的原地交换。