结构体中添加const关键字来防止误操作

1.未添加const关键字

void printArry(struct MyStruct * stu)
{
	stu->age = 23;
	cout << "打印函数输出" << endl;
	cout << "姓名:" << stu->name << "  年龄:" << stu->age << "  id:" << stu->id << endl;
}

在未添加const关键字之前,修改形参,实参也会跟着改变。

2.添加const关键字防止误操作

void printArry(const struct MyStruct * stu)
{
//	stu->age = 23;  //提示错误,表达式左值不可修改
	cout << "打印函数输出" << endl;
	cout << "姓名:" << stu->name << "  年龄:" << stu->age << "  id:" << stu->id << endl;
}

将函数中形式参数改为指针,不会复制新的副本出来且可以减少内存空间,添加const修饰结构体,可以防止误操作。

 3.源代码

#include<iostream>
using namespace std;
#include<string>
void printArry(const struct MyStruct* stu);

struct MyStruct
{
	string name;
	int age;
	int id;
};

void printArry(const struct MyStruct * stu)
{
//	stu->age = 23;  //提示错误,表达式左值不可修改
	cout << "打印函数输出" << endl;
	cout << "姓名:" << stu->name << "  年龄:" << stu->age << "  id:" << stu->id << endl;
}

int main()
{
	struct MyStruct stu;
	stu.name = "小叶";
	stu.age = 22;
	stu.id = 9354;
	printArry(&stu);
  //cout << "main函数输出:" << endl;
  //cout << "姓名:" << stu.name << "  年龄:" << stu.age << "  id:" << stu.id << endl;
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章