
C/C++基础
文章平均质量分 72
programmer11123
这个作者很懒,什么都没留下…
展开
-
【C++强制类型转换】static_cast/const_cast/reinterpret_cast/dynamic_cast
这应该四种中是最常见的。用法为 static_cast (expression)。与C风格的强制类型转化相似, float b = 0.5; int a = b; 这样隐式截断(by the way 这样隐式的截断是向 0 取整的,我喜欢这么叫因为 0.9 会变成 0,1.9 变成 1,-0.9 变成 0,-1.9 变成 -1主要用法区别在于:用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。上边的 static_cast 不能将 const int* 转成 int*,const_cast原创 2022-06-25 20:46:22 · 336 阅读 · 0 评论 -
【C++基础】与C的区别
a. 想使用的时候才定义变量b. for循环中定义变量:for(int i;😉###2. 数据类型bool :a. 相应新增true、false保留字b. 输出0和1class&(引用)在C语言中,可以把任何类型的指针(包括函数指针)赋值给void*指针而无须进行强制类型转换。在C++中,对这个转换做了更严格的限制:只有非 常量指针才能赋值给void*指针。C++示例代码:如果要将pvoid赋给其他类型指针,则需要强制类型转换如:void指针在强制转换成具体类型前,不知道指向对象的(.原创 2022-06-25 19:21:06 · 388 阅读 · 0 评论 -
【C++多态】虚函数与多态性
虚函数仅在声明处加virtual ,定义处不加virtual。设为虚函数意味着在派生类中可能有不同的实现,所以不建议重写继承来的非虚函数。虚函数父类和子类的声明必须完全一致!(包括参数类型、个数、顺序、返回值类型)否则只是函数覆盖。析构函数一般要设为虚函数,而构造函数不能设为虚函数。虚函数有默认值时*(静态绑定)*,派生类不能重新定义不同的值,即使定义,在多态时不起作用(正常调用派生类函数时仍然起作用)。使用基类指针又不想动态绑定时,可以在函数名前加【类名::】限定。继承了包含虚函数的多态类的派生类自动成为原创 2022-06-25 19:16:39 · 729 阅读 · 0 评论 -
【C++继承与派生】
派生类可以通过访问方式对基类成员的访问方式进行改造:只有定义该成员的类内部可以访问,不允许派生类访问(不论是什么继承方式)。基类除了private成员,在派生类中的访问方式均为protected。基类除了private成员,在派生类中的访问控制与基类一致。派生类会除了基类的构造函数、析构函数以外的所有数据成员和函数成员。通过访问方式,数据和函数成员的覆盖对基类成员进行改造。尤其是添加构造函数和析构函数派生类名(参数表):需要初始化的基类名(参数表),新增成员初始化列表 { 构造函数体 }【PS】:若没有在派原创 2022-06-25 16:42:03 · 877 阅读 · 0 评论 -
【C++异常处理】throw、try、catch
C++异常处理的介绍与使用原创 2022-06-23 21:28:37 · 732 阅读 · 0 评论 -
【C++模板】函数模板与类模板
介绍了有关C++中函数模板和类模板的使用。原创 2022-06-23 20:07:21 · 297 阅读 · 0 评论 -
【C/C++】无类型指针(void *)
无类型指针(void *)与显示类型转化void *(无类型)指针可以指向任意类型的数据,即可以用任意类型的指针对void指针赋值。例如:int *pint ;void *pvoid ; //它没有类型,或者说这个类型不能判断出指向对象的长度pvoid = pint ; //只获得变量/对象地址而不获得大小,即pvoid的指针类型还是没有转变 //但是不允许 pint=pvoid;printf("%d",*pint); //正确printf("%d",原创 2022-04-18 18:57:04 · 1979 阅读 · 0 评论