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

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

相关推荐
爱倒腾的老唐1 小时前
1、万用表
笔记
runafterhit2 小时前
AI基础学习-基础概念汇总
人工智能·学习
中屹指纹浏览器2 小时前
2026多账号安全运营:指纹浏览器选型、部署与平台风控应对指南
经验分享·笔记
charlie1145141912 小时前
2026年IMX6ULL正点原子Alpha开发板学习方案——U-Boot完全移植概览:从官方源码到你的自制板,这条路有多远
linux·学习·嵌入式·uboot·嵌入式linux·工程实践·编程指南
盐焗西兰花3 小时前
鸿蒙学习实战之路-Share Kit系列(10/17)-目标应用接收分享(应用内处理)
学习·华为·harmonyos
高梦轩3 小时前
LNMP 环境部署笔记
linux·笔记
清空mega3 小时前
《Vue3 新手学习路线总览:我该怎么系统学 Vue3?》
学习
非凡ghost3 小时前
支持1000+格式:Wondershare Recoverit万能数据恢复
网络·windows·学习·软件需求·teamviewer
角砾岩队长3 小时前
CASS常用快捷指令
经验分享·笔记
盐水冰3 小时前
【Redis】学习(3)Redis的Java客户端
java·redis·学习