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

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

相关推荐
小弥儿35 分钟前
GitHub今日热榜 | 2026-08-14:OSINT情报工具回流,本地AI赛道升温
人工智能·学习·开源·github
小黄人软件1 小时前
【证书批量转换】PEM->CER证书批量转换工具.exe 纯 Python实现,无需安装OpenSSL
人工智能·学习
demodeom1 小时前
Win11 + RTX 5080 本地 Coding 模型测试笔记(已弃坑)
笔记
peijiping2 小时前
Agent 工具执行:并行(parallel_tool_calls)和后台(run_in_background)到底有什么区别? (学习笔记)
笔记·学习·ai agent·claude code
Oll Correct2 小时前
Adobe illustrator 案例四:吃豆人 (Pac-Man)图标绘制
笔记·ui·adobe·illustrator
何事误红尘2 小时前
KF32A学习笔记(二):IDE基本使用、srec和hex格式、FreeRTOS移植
学习
LuminousCPP2 小时前
单链表专题(四)-刷题复盘篇-LeetCode 138 随机链表复制|原地拷贝法突破复杂指针操作
数据结构·笔记·算法·leetcode·链表
萌新小白YXY3 小时前
SAE J1587/SAE J1708 协议笔记
笔记·单片机·嵌入式硬件
IT古董3 小时前
【MES学习笔记系列】MES 推荐书籍与资源
笔记·学习
迪丽热爱3 小时前
每日英语-11
学习