随笔分类 -  C++

摘要:首先new operator是c++内建操作符,行文是固定的,而operate new则是可以通过重载 来改变行为的,没有重载之前,是存在一个默认的全局operator new的操作符的,可以在一个 类的内部来重载operator new来实现针对于该类自身的内存分配策略。 除了上述的两种new 之 阅读全文
posted @ 2020-08-28 21:33 一只小菜鸡a 阅读(772) 评论(0) 推荐(0)
摘要:产生core dump的原因: 1 数组访问越界。 2 使用非法的指针,使用了空指针或者说对随意的强制转换指针的类型。 3 堆栈溢出,申请了超过可用容量的堆栈空间。 产生core_dump的错误后,可以通过设置ulimit -c ulimited来开启生成 core文件的功能,会在当前文件夹下面保存 阅读全文
posted @ 2020-08-19 13:23 一只小菜鸡a 阅读(2120) 评论(0) 推荐(0)
摘要:首先c++的多态分为两大类: 1 静态多态,是只在编译期间确定的多态,静态多态有两种实现的方式。第一种是函数的重载, 另一种是模板,静态多态在编译期间根据函数的参数类型推断出需要调用的函数。 2 动态多态,是运行时多态,该种多态的实现方式是需要通过虚函数机制实现,使用父类的指针 或者是引用去指向一个 阅读全文
posted @ 2020-08-18 14:21 一只小菜鸡a 阅读(1159) 评论(0) 推荐(0)
摘要:程序在进行函数调用时要跳转到函数的入口处去执行,此事需要保存当前的现场,调用完成之后还需要 恢复现场,因此函数的调用有一定的空间和时间的开销。 宏定义的使用类似函数,但是没有参数压栈,代码生成的开销,由预处理器来实现,调用的方式也是使 用简单的文本替换,不会对参数的类型以及返回值的类型进行检查,因此 阅读全文
posted @ 2020-08-14 15:53 一只小菜鸡a 阅读(587) 评论(0) 推荐(0)
摘要:右值,不能够用取地址&来获得对象内存地址的值。 右值引用,使用type&& 来取得对右值对象的引用,可以通过右值引用来对右值对象 进行相应的修改,定义了右值引用过后,对象会被存储到固定的内存位置当中,对右值 引用进行取地址的操作可以获得右值的存储地址。 左值一般是持久的状态,右值要么是字面值常量,要 阅读全文
posted @ 2020-08-03 21:17 一只小菜鸡a 阅读(251) 评论(0) 推荐(0)
摘要:1 如果当前的类当中为空,或者没有数据成员,则该类对象的大小为1个字节。 2 类当的成员函数无论是静态还是非静态的都不会占用类对象的空间,此外静态的数据成员也不会占据类成员的空间。 3 虚函数会在每个对象上面增加一个虚函数表的指针,指针大小根据操作系统来决定。 4 虚继承会因为有虚基表的指针对类对象 阅读全文
posted @ 2020-08-02 19:27 一只小菜鸡a 阅读(611) 评论(0) 推荐(0)
摘要:首先分清左值和右值: 左值:有名字的,可以取地址的,非临时的就是左值。 右值:没有名字的,不可取地址的,临时的就是右值。 左值引用的操作方法是 type& a=b,右边的是一个左值,左值引用在声明时必须进行初始化的操作。 右值引用的操作方法是type&& a=字面值或其它类型的右值,实现的方法是将本 阅读全文
posted @ 2020-07-15 18:46 一只小菜鸡a 阅读(892) 评论(0) 推荐(0)
摘要:1 虚线加箭头,表示的依赖关系,一个类的实现需要借助另一个类当中的方法。 > 2 实线加箭头表示的是一种关联的关系,表示两个类都需要调用对方的方法。———> 3 实线加△,表示的泛化的关系,即子类继承的父类,虚线加△,表示实线的关系,子类对父类的纯虚函数进行了实现。 4 空心◇加实线表示的是一种聚合 阅读全文
posted @ 2020-06-12 10:49 一只小菜鸡a 阅读(2282) 评论(0) 推荐(0)
摘要:回调函数是一段可执行的代码,作为参数传递给其另外的函数。 回调函数定义的方法就是将函数指针传递给其他的函数,其他函数 可以通过函数指针来执行回调函数的代码。 一般定义函数指针的方法为 int (*f) (int a); 含义是f为一个指向有一个整型参数,返回值为int 的函数指针。 有时这样的声明比 阅读全文
posted @ 2020-03-24 10:49 一只小菜鸡a 阅读(184) 评论(0) 推荐(0)
摘要:C++的头文件当中一般包含以下形式的宏 #ifndef HEAD_H #define HEAD_H #endif 包含该宏的原因是防止头文件被重复的包含,造成变量或者类型的重复定义。 当前可以使用#program once来代替以上的宏定义。 阅读全文
posted @ 2020-03-21 21:27 一只小菜鸡a 阅读(377) 评论(0) 推荐(0)
摘要:enum: enum关键字,类型名,枚举常量表。 enum Day{mon,tue,wend,thur,fri,satur,sun}; 使用方法: enum Day day=mon; 枚举常量表当中的第一个元素的默认值为0,如果当前的元素没有被赋值,则其值为前面一个 常量的值加1。并且枚举常量只能够 阅读全文
posted @ 2019-12-08 10:45 一只小菜鸡a 阅读(493) 评论(0) 推荐(0)
摘要:声明类的静态成员 通过将类的成员前面加上static关键字,使得类成员成为其静态成员,静态成员可以是private也可以是public的。 静态成员可以是常量,引用,指针,类类型等。 类的静态成员存在于任何对象之外,对象中不包含任何与静态成员相关的数据。类似的类的静态成员函数,他们 不包含this指 阅读全文
posted @ 2019-11-30 18:40 一只小菜鸡a 阅读(235) 评论(0) 推荐(0)