C++学习笔记(大白话版)

  函数重载:名字一样,参数不一样
  同一个小区,不同的家庭在小区中住不同的房子

  缺省参数:写函数的时候故意不把参数写完,但是只能不写左边的,右边的必须写
  如果在使用有缺省参数的函数时,给了实参值,那么就优先调用实参值
  如果没有给实参,就可以用默认参数了。
  函数定义写main下面,函数声明(缺省的)写main上面。有点脱了裤子放屁的感觉
  一个强迫症患者,从最右面开始写参数,写道左边的时候空几个不写。

  内联函数:就是在函数名字前加个inline,inline就是个飞雷神,可以节省函数跳转开销。一般写在.h文件中。
  飞雷神的意思就是,将函数的代码直接插入到调用它的地方,减少了函数调用的开销。这对于频繁调用的小函数尤其有益,可以显著提高程序的执行效率。

  哑元函数:函数参数列表中只有数据类型,没有参数名字,用来占位置。目前感觉没啥用,没用过这种函数。

  引用:起个小名,通过喊小名,就能使唤他,不用喊大名了。
  引用的时候必须初始化:起小名的时候一定要明确是给谁起小名,不能随便起小名
  引用和引用的目标数据类型必须要一致:明明是想给人起名,结果你拿起来就把这个小名给狗了,这是不合理的

    常引用:给他颁布一个伟大称号,一提到这个伟大称号,人们就能想到他。他可以改变,但是称号不能改变

动态分配的内存位于 堆 上
  
  动态分配内存:new和delete(这俩是操作符)
  分配单个内存:
                int *p = new int;//动态分配一个 int 类型的对象
                *p = 10;//使用该对象
                delete p;//释放该对象占用的内存
                p = NULL;//防止野指针
  
  动态分配数组:
                int* arr = new int[5];  // 动态分配一个包含 5 个 int 类型元素的数组
                for (int i = 0; i < 5; ++i) {
                    arr[i] = i;         // 使用数组元素
                }
                delete[] arr;           // 释放数组占用的内存

  动态分配对象:
                class MyClass {
                public:
                    MyClass() { std::cout << "Constructor called" << std::endl; }
                    ~MyClass() { std::cout << "Destructor called" << std::endl; }
                };
                MyClass* obj = new MyClass();  // 动态分配一个 MyClass 类型的对象
                delete obj;                    // 释放该对象占用的内存

  类的定义格式:class homename{public:  private:  protected:  };
  类的实例化对象://栈区对象:类名  对象名;
                 //堆区对象:类名 *对象名 = new 类名;
  单身狗可以用C++新建一个对象,但是记得将你的对象实例化后再使用。
  先实例化 homename m1,再使用
  四个可以:
  类内可以访问公有权限的成员:
  类内可以访问私有权限的成员:
  类内可以访问受保护的成员:
  类外可以访问公有权限的成员:m1.pub_func();
  两个不可以:
  类外不可以访问私有权限成员
  类外不可以访问受保护权限成员
 

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值