C++的引用
C++新建源文件叫main.cpp,以cpp后缀结尾。以下是引用的便捷性。
修改函数外的某一变量后,使用了引用后,在子函数内的操作和函数外操作手法一致,编程效率高。
例1 在主函数内修改主函数的普通变量的值
// C++的引用讲解
// 在主函数内修改主函数的普通变量的值
// Created by Lee Lucy on 2024/3/16.
// 当在子函数中要修改主函数中变量的值,就用引用,不需要修改,就不用
#include <iostream>
void modify_num(int &b)//形参中写&,要称为引用
{
b=b+1;
}
int main(int argc, const char * argv[]) {
int a=10;
modify_num(a);
printf("after modify_num a=%d\n",a);
return 0;
}
如果上面的代码改为纯C,代码如下:
例2 在子函数内修改主函数的普通变量
// 子函数内修改主函数的普通变量
// main.c
// Created by Lee Lucy on 2024/3/16.
#include <stdio.h>
void modify_pointer(int* b)
{
*b=*b+1;
}
int main(int argc, const char * argv[]) {
int a=10;
modify_pointer(&a);
printf("after modify_num a=%d\n",a);
return 0;
}
例3 子函数内修改主函数的一级指针变量
/ 子函数内修改主函数的一级指针变量
// main.cpp
// Created by Lee Lucy on 2024/3/16.
#include <iostream>
void modify_pointer(int* &p,int *q)
{
p=q;
}
int main(int argc, const char * argv[]) {
int *p=NULL;
int i=10;
int *q=&i;
modify_pointer(p,q);
printf("after modify_pointer *p=%d\n",*p);
return 0;
}
上面代码改为纯C,需要用到二级指针。
// main.c
// Created by Lee Lucy on 2024/3/16.
#include <stdio.h>
void modify_pointer(int **p,int *q)
{
*p=q;
}
int main(int argc, const char * argv[]) {
int *p=NULL;
int i=10;
int *q=&i;
modify_pointer(&p, q);
printf("after modify_pointer *p=%d\n",*p);
return 0;
}
C++的布尔类型
例4 布尔类型也是有值的
// 布尔类型也是有值的
// main.c
// Created by Lee Lucy on 2024/3/16.
// 设置布尔值的好处是提升了代码的可阅读性
#include <stdio.h>
int main(int argc, const char * argv[]) {
bool a=true;
bool b=false;
printf("a=%d,b=%d\n",a,b);
return 0;
}