C++侯捷手把手教学C++笔记
B站侯捷的几个视频笔记
Jiu_R
coder
展开
-
侯捷手把手教学C++(下)笔记
class中的类型转换函数:将这种class类型转为其他类型class A { operator double() const { ... } //将A类型转换成double类型 ...} 1. 这里转为的类型不一定是非double,只要是上文出现过的type即可,可以是内置类型也可以是自定义的;2. 无需参数,因为只是转换类型,自然不需要什么参数;3. 无需返回类型,因为返回类型就是转成的那个类型,因此省略不写;4. 只是转换class对象的类型,并不会修改class对象的数据.原创 2020-12-16 16:43:44 · 460 阅读 · 0 评论 -
侯捷手把手教学C++(上)笔记
全部参数都有默认实参的构造函数本身就相当于一个默认构造函数,就不能再另外定义一个默认构造函数了;构造函数要在初值列处初始化,而不要在函数体内赋值,这两个地方做的动作是不同的;class的成员函数的const:1. class的成员函数的参数列表和函数体之间的那个const: 针对的是调用这个成员函数的那个对象是否会被函数修改;class的成员函数若不会修改数据成员,就一定要声明为const,不加就默认会修改数据成员(若加了const,则无论是不是const类对象都可以调用;但若不加,就只有非co.原创 2020-12-14 21:43:15 · 789 阅读 · 2 评论 -
C++中new和delete的实现
new和delete的实现newClass* pc = new Class(2,1); //即new等价于malloc + 构造函数;等价于void* mem = operator new(sizeof(Class)); //分配内存;相等于mallocpc = static_cast<Class*>(mem); //类型转换;pc->Class::Class(2,1); //构造函数;deletestring* s = new string("hello");de.原创 2020-12-14 21:50:41 · 277 阅读 · 2 评论