C++结构体中const使用场景
生活随笔
收集整理的這篇文章主要介紹了
C++结构体中const使用场景
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
看如下代碼:?
#include<iostream> using namespace std;#include<string>//結構體 struct Student {string name;int age;int score;}st3;//值傳遞 void printStufdents(struct Student st2) {cout << "子函數" << endl;st2.age = 150;cout << "名字:" << st2.name << " 年齡:" << st2.age << " 分數:" << st2.score << endl; }//指針傳遞只占四個字節 節省內存空間 而且不會復制新的副本出來 void printStufdents(struct Student *s) {cout << "子函數" << endl;s->age = 150;cout << "名字:" << s->name << " 年齡:" << s->age << " 分數:" << s->score << endl; }int main() {struct Student st2 = { "張三豐",120,70 };cout << "名字" << st2.name << "年齡" << st2.age << "分數" << st2.score<< endl;printStufdents(st2);system("pause"); }1,地址傳遞只占四個字節 ?節省內存空間 ?而且不會復制新的副本出來
2,地址傳遞有個問題,會改變地址的值,為了防止誤操作,我們引入了const關鍵字修飾指針
#include<iostream> using namespace std;#include<string>//結構體 struct Student {string name;int age;int score; }st3;void printStufdents(struct Student st2) {cout << "子函數" << endl;st2.age = 150;cout << "名字:" << st2.name << " 年齡:" << st2.age << " 分數:" << st2.score << endl; }//指針傳遞只占四個字節 節省內存空間 而且不會復制新的副本出來 void printStufdents(const struct Student *s) {cout << "子函數" << endl;s->age = 150;cout << "名字:" << s->name << " 年齡:" << s->age << " 分數:" << s->score << endl; }int main() {struct Student st2 = { "張三豐",120,70 };cout << "名字" << st2.name << "年齡" << st2.age << "分數" << st2.score<< endl;printStufdents(st2);system("pause"); }?
總結
以上是生活随笔為你收集整理的C++结构体中const使用场景的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java super关键字
- 下一篇: C++ struct和class的区别