第一天笔记

第一部分 预备知识

第一章 c++回顾

1.2函数与参数

专有名词:

formal parameter:形式参数 actual parameter:实际参数 value parameter:传值参数

copy constructor:复制构造函数 destructor:析构函数 reference parameter:引用参数

const reference:常量引用 reference return:引用返回 const reference return:常量引用返回

signature:签名 function overloading:函数重载

1.当函数的参数为传值参数时,调用函数需要使用形参类型的复制构造函数,而函数调用结束后需要使用形参类型的析构函数来释放参数,会增加程序的运行时间。

copy constructor:它必须的一个参数是本类型的一个引用变量

2.使用const reference传参代表函数不会修改实参,这在软件工程中是十分重要的。

3.reference return与普通return的区别在于普通return返回时会生成临时变量,函数调用结束后会销毁这个临时变量,而reference return不会生成临时变量,当然调用结束后也不用销毁。

4.当使用const reference return时,返回的结果只能赋给一个const常量。

 

1.3异常

一个异常抛出,处理

int abc(int a, int b, int c)

{

       if(a <= 0 || b <= 0 || c <= 0)

              throw"All parameters should be > 0";//抛出一个char*类型的异常

       return a + b * c;

}

int main()

{

       try{

              cout<<abc(2, 0, 4)<<endl;//可能出现异常的代码

          }

       catch(char* e)

       {

              cout<<"An exception has been thrown"<<endl

              return 1;

       }

       return 0;

}

 

1.4动态存储空间分配

1.操作符:new

使用:int *y = new int;

         *y = 10;

或    int *y = new int(10);

数组:float *y = new float[20];//动态开辟了有20个元素的float数组

2.当使用操作符new来开辟空间时,若没有足够的内存来进行分配会抛出bad_alloc异常。

捕捉异常:catch(bad_alloc e){};

3.释放动态分配的空间:

操作符:delete

使用delete y;

       delete []x;

        

1.5自有数据类型

constant function:常量函数

1.c++在声明函数时形参可以只写数据类型而不写变量名,因为编译器只需知道形参的数据类型便可为其在内存中分配空间。

2.c++中const关键字写在函数名前与函数名后的区别:

首先要注意只有类的成员函数才能在函数名后面加上const,这时成员函数叫做constant function

class Sample{

public:

     int value;

        void GetValue() const;

        void func(){};

        Sample(){value = 0;}

};

常量成员函数在执行期间不能修改成员变量(调用对象)的值(静态成员变量除外),也不能调用同类的非常量成员函数(同样的静态成员函数除外)。

void Sample::GetValue() const{

    value = 0;//错误,常量成员函数不能修改成员变量的值

       func();//错误,常量成员函数不能调用非常量成员函数

}

而在函数名前加const则表示函数的返回值为常量。

转载于:https://www.cnblogs.com/the-cat-from-Norway/p/9925834.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值