上面我们说明了易用引用对结构体进行操作的优势,下面我们重点对比两个例程,进一部分析关于效率的问题。 //-------------------------------------例程1--------------------------------- #include <iostream> #include <string> using namespace std; struct test { char name[10]; float socre; }; void print_score(test &pn) { cout<<pn.name<<"|"<<pn.socre<<endl; } test get_score() { test pn; cin>>pn.name>>pn.socre; return pn; } void main() { test a[2]; int num = sizeof(a)/sizeof(test); for(int i=0;i<num;i++) { a[i]=get_score(); } cin.get(); for(int i=0;i<num;i++) { print_score(a[i]); } cin.get(); } //-------------------------------------例程2--------------------------------- #include <iostream> #include <string> using namespace std; struct test { char name[10]; float socre; }; void print_score(test &pn) { cout<<pn.name<<"|"<<pn.socre<<endl; } void get_score(test &pn) { cin>>pn.name>>pn.socre; } void main() { test a[2]; int num = sizeof(a)/sizeof(test); for(int i=0;i<num;i++) { get_score(a[i]); } cin.get(); for(int i=0;i<num;i++) { print_score(a[i]); } cin.get(); }
|