> 文档中心 > 成长随心记

成长随心记

1,函数的默认参数
    1)一般函数默认参数写在函数声明
    2)默认参数只能在函数声明或者定义时写,二者不能共存
    例:void fan(int a=10,int b=10);
           void fan(int a=10,int b=10){
        return a+b;    
    }    错误
    3)函数默认参数只能从右到左写
    例:fan(int a,int b=10)正确
           fan(int a=10,int b)错误

2,递归函数
    1)无限套娃,自己调用自己
    2)要写判断结束条件,不然程序奔溃
    例:求1加到100;
           int fan(int x){
            if(x > 0)
                  return x+fan(x-1);
             else
                   return 0;  
        }

3,哈希函数,在刷bz时看到,现在还不是很了解,我的理解类似数学的一一映射,输入一个数据,返回一个独一无二的数据,且下次输入相同数据时要返回相同的数据

4,函数的重载
    1) 语法:同一作用域下,不同的函数,函数名,返回类型相同,函数的参数类型,个数,参数顺序不同可以发生重载
    2)作用:方便程序员使用,用来处理功能类似但参数类型个数不同的情况
    3)注意:当处理函数带默认参数的时候,要注意不能发生歧义
    例:void fan(int a,int b=20);
           void fan(int a);
           fan(10);  错误,有歧义

5,构造函数
    1)作用:为了类的初始化
    2)语法:a) 类名+(){...}
                   b) 也可以设置默认参数,类名+(参数):类下参数名(0){...}(程序员常用)
    3)注意:当类定义时,执行构造函数,无需程序员自己调用,构造函数可以有多个,可以进行重载

6,析构函数
    1)作用:为了参数空间的释放,如指针,或者为了函数结束前想执行的最后一步操作
    2)语法:~类名+(){...}
    3)  注意:当函数结束前调用析构函数,析构函数只有一个不能进行重载

7,拷贝函数
    调用时机:1)用创建一个好的类来初始化一个新的类时
        2)  值传递的方式来给参数传值,就是传递对象参数
        3)以值的方式返回局部对象,就是return对象

8,关于构造函数和析构函数和拷贝函数
    1)先定义的类先执行构造函数后执行析构函数,类似FILO
    2)定义了带参数数的构造函数,系统不定义不带参数的构造函数,会定义拷贝函数
    3)定义了拷贝函数,系统不定义构造函数

9,斐波那契数列(递归)
    1)int fan(int indenx){//indenx表示第indenx位置上的斐波那契数
        if(indenx==1||indenx==2)
              return 1;
        else
              return(fan(indenx-1)+fan(indenx-2));
    }

10,pow(2,3)表示2的3次方,此函数包含在math.h头文件中

11,深拷贝与浅拷贝
    问题:当拷贝内容有在堆区开辟空间时,如果用系统自带的浅拷贝会导致堆区空间重复释放,报错
    1)浅拷贝:简单的赋值操作
    2)深拷贝:重新在堆区开辟空间,进行拷贝操作
    例:class person{
        pubilc:
            person(int age,int height){//普通构造函数
                m_age=age;
                m_height=new int (height);
                }
            person(person& p){//拷贝函数
                m_age=p.m_age;
                //m_height=p.m_height;//浅拷贝,编译器自己执行的
                m_height=new int (*p.height);//深拷贝
        pravite:
            int m_age;
            int* m_height;
        }
              
------------------------------------------------------------------------------------------------------------------------------

个人心得:
    变强的路上注定孤独,没有一丝丝余地,当你的主动得不到想要的回报时,他就会慢慢消失,直到不再联系
    赚好多好多钱,这是我的目标
    网络上的与技术无关的社交就是无效社交,与技术无关的学习就是无效学习,长时间刷抖音也是无效,刷抖音是为了放松自己,而不是沉迷
    在我看来大学就是混一本毕业证书,IT行业看的是你的技术,而不是你的大学成绩有多优秀
    看了一些网络招聘,发现需要的技术栈比较多,至今学到的技术还比较薄弱只会一个C语言,数据结构和算法还需要很长的时间沉淀
    兴趣是最好的老师!!!要培养自己对编程的兴趣,看看与编程有关的视频不是无效。