cpp八股学习笔记

  1. 禁止类生成拷贝构造和赋值构造的方法

使用基类,把这些方法声明成private的,这样哪怕友元函数和自身都无法访问父类的private成员。

2.int main的知识

main的返回值必须是int类型,需要操作系统获得;argc代表参数个数、argv代表参数的内存,通过char数组存储。

3.strcpy、sprintf、memcpy知识

strcpy是字符串拷贝、sprintf是把其他类型数据转换成字符串、memcpy是内存块的拷贝。

memcpy最快,其次是strcpy、最后是sprintf。

4.memset不能在有虚函数类、有cpp成员对象的类内清空

因为在构造函数函数体之前编译器会添加初始化虚函数表的内容,而清空就不能使用了,不过实际测试的时候发现在栈上分配的成员函数可以调用虚函数,编译器直接变成函数地址去调用。

5.必须使用构造函数初始值列表的情况:

const成员、引用成员的初始化、类内有成员只拥有不缺省的构造函数、父类没有缺省的构造函数。

6.关于友元的知识

友元使得类外部的函数和其他类的成员函数能访问类内部的成员,破坏了类的封装属性;友元不具有继承性、也不具有交换性、传递性。

7.面向对象的精髓就是多态,使用多态可以使得编程不需要面向实际执行,在执行的过程中注入多态的属性。

面向接口编程就是利用了这种属性。

相关推荐
Odedipus18 小时前
二叉树的学习笔记
数据结构·笔记·学习
sakiko_18 小时前
Swift/UIkit学习笔记27-模块管理,发送位置信息
前端·笔记·学习·ios·swift·uikit
happymaker062618 小时前
Spring学习日记——DAY07(SpringMVC)
java·学习·spring
weixin_4280053018 小时前
C#调用 AI学习从0开始-第1阶段(基础与工具)-第4天CoT思维链学习
开发语言·学习·ai·c#·cot
神秘剑客_CN18 小时前
Ubuntu 26.04使用笔记
linux·笔记·ubuntu
会编程的土豆18 小时前
Gin POST 请求完整流程笔记
chrome·笔记·gin
吃好睡好便好18 小时前
在Matlab中绘制变半径柱面图
开发语言·人工智能·学习·算法·matlab
IT英语写作研习社18 小时前
英语写作中“内容”Content的使用注意点
笔记
凌晨7点18 小时前
控制的滤波器01:一阶RC低通滤波器
学习·mathcad
闫记康18 小时前
Linux学习day2
linux·运维·学习