bilibiliC++69结构体-结构体中const使用场景

8.7 结构体中 const使用场景

**作用:**用const来防止误操作
示例:

//学生结构体定义
struct student
{
	//成员列表
	string name;  //姓名
	int age;      //年龄
	int score;    //分数
};

//const使用场景
void printStudent(const student *stu) //加const防止函数体中的误操作
{
	//stu->age = 100; //操作失败,因为加了const修饰
	cout << "姓名:" << stu->name << " 年龄:" << stu->age << " 分数:" << stu->score << endl;

}

int main() {

	student stu = { "张三",18,100 };

	printStudent(&stu);

	system("pause");

	return 0;
}

C++的`struct`结构体是一种复合数据类型,允许你将不同类型的数据项组合成一个单一类型。结构体通常用于表示一个具有多个属性的数据实体。下面将详细介绍C++`struct`的几个关键方面: 1. 定义结构体结构体通过关键字`struct`后跟结构体名称和一系列在花括号定义的成员来定义。每个成员可以是不同类型的变量,并且可以有自己的访问级别(public、private、protected)。 ```cpp struct Person { std::string name; // 公有成员 private: int age; // 私有成员 public: float height; // 公有成员 }; ``` 2. 创建结构体变量: 可以通过指定结构体类型来创建变量,并且可以使用点操作符访问结构体成员。 ```cpp Person person1; // 创建一个Person类型的变量person1 person1.name = "张三"; person1.height = 175.5f; ``` 3. 结构体指针: 可以使用指针指向结构体变量。通过使用箭头操作符(`->`)来访问结构体指针的成员。 ```cpp Person *personPtr = &person1; personPtr->name = "李四"; ``` 4. 结构体作为函数参数: 结构体可以作为参数传递给函数。你可以传递结构体变量的副本或直接传递指向它的指针。 ```cpp void printPersonInfo(Person p) { // 传递副本 std::cout << "Name: " << p.name << ", Height: " << p.height << std::endl; } void printPersonInfoPtr(const Person* p) { // 传递指针 std::cout << "Name: " << p->name << ", Height: " << p->height << std::endl; } ``` 5. 结构体的构造函数和析构函数: C++允许在结构体定义构造函数和析构函数,以便在创建和销毁结构体变量时自动执行初始化和清理代码。 ```cpp struct Person { std::string name; int age; float height; // 构造函数 Person(std::string n, int a, float h) : name(n), age(a), height(h) { // 初始化代码 } // 析构函数 ~Person() { // 清理代码 } }; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值