免费信息发布网站大全,wordpress发卡插件,东莞招聘信息最新招聘官方网,什么叫网站文章目录 一、常量引用语法1、语法简介2、常引用语法示例 二、常量引用语法1、int 类型常量引用示例2、结构体类型常量引用示例 在 C 语言中 , 常量引用 是 引用类型 的一种 ;
借助 常量引用 , 可以将一个变量引用 作为实参 传递给一个函数形参 , 同时保证该值不会在函数内部被… 文章目录 一、常量引用语法1、语法简介2、常引用语法示例 二、常量引用语法1、int 类型常量引用示例2、结构体类型常量引用示例 在 C 语言中 , 常量引用 是 引用类型 的一种 ;
借助 常量引用 , 可以将一个变量引用 作为实参 传递给一个函数形参 , 同时保证该值不会在函数内部被修改 ; 这样既保证了参数传递效率 , 有保证了数据安全 ;
常量引用 的重要使用场景 :
函数参数传递函数返回值对象成员
本篇博客会给出 常量引用 的几种案例 ; 一、常量引用语法 1、语法简介 使用 普通变量 初始化 常量引用 , 就是将 普通变量 赋值给 常量应用 , 也可以理解为 将 变量转为常量 ; 常量引用 语法 :
const T variable_name value;T 是 常量引用 的类型名称 , 如 : int , string ;variable_name 是 常量引用 的名称 , 调用该常量引用 , 不可修改 value 变量的值 ;value 是 被引用的 变量 , 调用该变量可以修改变量的值 ; 2、常引用语法示例 常量引用示例 : 下面的代码 , 就是上述 使用 普通变量 初始化 常量引用 : // 定义变量 aint a 10;// 定义变量 a 的 常量引用 bconst int b a;二、常量引用语法 1、int 类型常量引用示例 如果定义 如下函数 , 参数类型为 const int 类型的常量引用 ,
// 常量引用作为函数参数
void fun(const int num) {// 在函数中不能修改上述 num 值 printf(fun 函数接收到参数 num %d\n, num);// 如果尝试修改 常量引用 num 值 , 就会在编译时报错num 0;
}如果尝试修改 常量引用 num 值 , 就会在编译时报错 , 报错信息如下 :
已启动生成…
1------ 已启动生成: 项目: HelloWorld, 配置: Debug Win32 ------
1hello_world.cpp
1D:\002_Project\006_Visual_Studio\HelloWorld\HelloWorld\hello_world.cpp(17,2): error C3892: “num”: 不能给常量赋值
1已完成生成项目“HelloWorld.vcxproj”的操作 - 失败。生成: 成功 0 个失败 1 个最新 0 个跳过 0 个 正确代码示例 :
// 包含 C 头文件
#include iostream// 使用 std 标准命名空间
// 该命名空间中 , 定义了很多标准定义
using namespace std;// 导入 C 头文件
#include stdio.h// 常量引用作为函数参数
void fun(const int num) {// 在函数中不能修改上述 num 值 printf(fun 函数接收到参数 num %d\n, num);// 如果尝试修改 常量引用 num 值 , 就会在编译时报错//num 0;
}int main()
{// 定义普通变量 aint a 10;// 向函数中传入 变量 a 作为常量引用参数 // 相当于将 a 地址传入fun(a);// 控制台暂停 , 按任意键继续向后执行system(pause);return 0;
}执行结果 :
fun 函数接收到参数 num 10
Press any key to continue . . .2、结构体类型常量引用示例 定义一个函数 , 接收结构体类 类型的 常量引用 , 则 结构体常量引用 指向的 对象成员不能被修改 ;
定义的结构体类如下 :
// 定义一个结构体类型, 之后使用该类型的常量引用进行测试
struct Student
{char name[64];int age;
};函数 接收 结构体类型的常量引用 作为参数 , 该参数的成员不可修改 , 如果尝试修改 常量引用 student 成员的值 , 就会在编译时报错 ;
// 常量引用作为函数参数
void fun(const Student student) {// 在函数中不能修改上述 num 值 printf(fun 函数接收到参数 student %d\n, student.age);// 如果尝试修改 常量引用 student 成员的值 , 就会在编译时报错//student.age 0;
}正确代码示例 :
// 包含 C 头文件
#include iostream// 使用 std 标准命名空间
// 该命名空间中 , 定义了很多标准定义
using namespace std;// 导入 C 头文件
#include stdio.h// 定义一个结构体类型, 之后使用该类型的常量引用进行测试
struct Student
{char name[64];int age;
};// 常量引用作为函数参数
void fun(const Student student) {// 在函数中不能修改上述 num 值 printf(fun 函数接收到参数 student %d\n, student.age);// 如果尝试修改 常量引用 student 成员的值 , 就会在编译时报错//student.age 0;
}int main()
{// 定义 Student 类对象Student s;// 设置 Student 对象成员值s.age 18;// 向函数中传入 Student 对象 s 作为 Student 类型的常量引用参数 // 相当于将 s 地址传入fun(s);// 控制台暂停 , 按任意键继续向后执行system(pause);return 0;
}执行结果 :
fun 函数接收到参数 student 18
Press any key to continue . . .