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

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

相关推荐
DeepModel4 小时前
通俗易懂讲透 Q-Learning:从零学会强化学习核心算法
人工智能·学习·算法·机器学习
handler015 小时前
从零实现自动化构建:Linux Makefile 完全指南
linux·c++·笔记·学习·自动化
安小牛5 小时前
Android 开发汉字转带声调的拼音
android·java·学习·android studio
Hello_Embed6 小时前
嵌入式上位机开发入门(二十六):将 MQTT 测试程序加入 APP 任务
网络·笔记·网络协议·tcp/ip·嵌入式
不会编程的懒洋洋6 小时前
C# Task async/await CancellationToken
笔记·c#·线程·面向对象·task·同步异步
仙女修炼史6 小时前
CNN的捷径学习Shortcut Learning in Deep Neural Networks
人工智能·学习·cnn
亚空间仓鼠7 小时前
网络学习实例:网络理论知识
网络·学习·智能路由器
薛定e的猫咪8 小时前
多智能体强化学习求解 FJSP 变体全景:动态调度、AGV 运输、绿色制造与开源代码导航
人工智能·学习·性能优化·制造
风兮雨露8 小时前
一建学习流程以及计划(附资料)
学习
星幻元宇VR9 小时前
VR单人地震体验平台,学习科学避险
科技·学习·安全·vr·虚拟现实