• 尽可能在定义变量的同时初始化该变量


    尽可能在定义变量的同时初始化该变量(就近原则) 如果变量的引用处和其定义处相隔比较远,变量的初始化很容易被忘记。

    如果引用 了未被初始化的变量,可能会导致程序错误。本建议可以减少隐患。

     1 #include <iostream>
     2 
     3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
     4 using namespace std;
     5 
     6 //定义结构
     7 struct student {
     8     char  name[10];
     9     float   grade;
    10 };
    11 
    12 //更改student数据的grade成员,参数形式为引用 
    13 void change(student &x,float grade) 
    14 {
    15     x.grade=grade;
    16 }
    17 
    18 //更改student数据的grade成员,参数形式为指针 
    19 void change1(student *p,float grade)      
    20 {
    21     p->grade=grade;
    22 }
    23 
    24 //更改student类型的数据,普通参数形式 
    25 void change2(student x,float grade)      
    26 {
    27     x.grade=grade;
    28 }
    29 
    30 //显示student类型的数据,参数形式为引用
    31 void show(student &x)      
    32 {
    33     cout<<x.name<<"  "<<x.grade<<endl;
    34 }
    35 
    36 
    37 //在main()函数中,测试对结构的处理函数
    38 int main(int argc, char** argv) {
    39     student a={"ZhangHua",351.5};
    40 
    41     //显示a的数据
    42     show(a);
    43 
    44     //用change修改分数,并显示
    45     cout<<"change(student &x,float grade):"<<endl;
    46     change(a,360);
    47     show(a);
    48 
    49     //用change1修改分数,并显示
    50     cout<<"change1(student *p,float grade):"<<endl;
    51     change1(&a,375);
    52     show(a);
    53 
    54     //用change2修改分数,并显示
    55     cout<<"change2(student x,float grade):"<<endl;
    56     change2(a,380.5);
    57     show(a);
    58     
    59     return 0;
    60 }
  • 相关阅读:
    Java 过滤器的作用
    TreeView的绑定
    设计模式(一)工厂模式Factory(创建型)
    【剑指offer】员工年龄排序
    Spring3.0 AOP 具体解释
    IT行业新名词--透明手机/OCR(光学字符识别)/夹背电池
    MYSQL C API 记录
    Hibernate的介绍
    数据绑定(八)使用Binding的RelativeSource
    一、ExtJS下载使用
  • 原文地址:https://www.cnblogs.com/borter/p/9413110.html
Copyright © 2020-2023  润新知