C++笔记(细碎小知识点)1

这篇具有很好参考价值的文章主要介绍了C++笔记(细碎小知识点)1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.内联:写在类内或外部声明inline(编译器判断是否内联,不是满足上述条件就一定内联),优点更快

2.protected:派生类可以直接调用基类的protected成员

3.class类内默认private,struct内默认public

4.构造函数最优写法,用初始化(只有构造函数有)效率比在函数中写更高(因编译器先进行初始化再执行函数)

5.const T: T固定;T const: *固定

6.确实有把构造函数放在private里的需求,如单例模式:通过将构造函数写在private里来防止该类对象被创建,通过public里的static函数或在声明static对象时来调用

7.const函数const在函数体{}前加,只能修饰成员函数,不改变数据内容的都要设为const函数

8.如非必要(想保证原数据不变且需要改变数据副本,或源数据在生命周期结束后仍会被使用),都传入传出引用# 9.main()方法是固定的:public static void main(String[] args)

9.friend自由取得private成员,这就导致同一个class中的各个示例互为friend

10.类内操作符重载需要默认存在this参数,this由编译器提供

11.可直接向引用参数中传值

12.对于有些可以连续调用的函数(如:a+=b+=c;,cout<<a<<b;)要考虑返回值不要用void

13.浅拷贝:指针指向被拷贝对象 深拷贝:将拷贝对象的内容给拷贝

14.三/五法则:如果一个类有非默认的析构函数,则必须有非默认的拷贝构造函数(移动构造函数)和拷贝赋值运算符(和移动赋值运算符)

15.拷贝赋值运算符重载时要检测是否是自我赋值

16.new是先调用内存再构造函数,delete是先析构再释放内存

17.new数组,要delete[]

18.static成员函数只能处理static数据,但可被非static的class对象调用

19.template与template这两个通用

20.explicit用来修饰单个参数的构造函数,表示该构造函数只能显式调用,禁止隐式转换。

21.对于类包类(类a中有类b成员)构造先b后a,析构先a后b

22.delegation可在cpp中实现类似接口的东西,具体为接口类内封装一个private实现类指针,具体实现功能全借助这个指针指向的实现类来实现。这会导致拷贝多个对象则会指向同一个实现类对象。

23.对于父类,析构函数必须是虚函数

24.纯虚函数:virtual 返回值 function()=0;

25.delegation可实现一份a类数据给多个b类对象使用(a类中包含b类指针数组)

26.私有static成员要先在类外进行全局定义

27.转换函数operator 类型()const,写在类内public中,当对象需要隐式类型转换时编译器自动调用

28.当需要将其他类型隐式转换为a类时,编译器会自动调用符合的a类构造函数(如果有的话)

29.当一条语句同时满足27,28两种情况时,会出现歧义,可以通过在构造函数前加explicit来禁止其隐式调用

30.仿指针类(如智能指针,迭代器)类内必会重载 “*” 和 “->”

31.仿函数类类内必会重载“()”

32.函数模板在使用时不必指明“T”,编译器会进行实参推导,类模板需要

33.模板和重载是编译时多态,虚函数重写是运行时多态

34.模板的参数仍可以是模板,特例化时所用的作为参数的模板的参数数量必须定义时作为参数的模板的参数相对应,如:

template<typename T,template<typename T,typename u>class cl>
class a {};
a<int, vector>;

vector与template<typename T,typename u>class cl对应。而vector<vecor>中的vector不是模板参数,因其已经被特例化

文章来源地址https://www.toymoban.com/news/detail-710028.html

到了这里,关于C++笔记(细碎小知识点)1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++碎知识点

    二叉树 由 n个节点构成的形态不同的⼆叉树 同余符号 定义设m是大于1的正整数,a,b是整数,如果m|(a-b),则称a与b关于模m同余,记作abmod(m),读作a同余于b模m。 符号= 按位与 后赋值 C语言中计算优先级 1LL 1LL会在运算时把后面的临时数据扩容成long long类型,再在赋值给左边时转

    2024年02月12日
    浏览(49)
  • C++知识点 -- 智能指针

    对于上面的场景,p1和p2在new申请空间后,div函数如果出现了除0错误,那么程序就会抛出异常,跳到接受异常的程序段继续执行,p1和p2申请的空间就没有被正常释放,造成了内存泄漏; 这种场景我们就可以使用智能指针来解决空间的释放问题。 RAII(Resource Acquisition Is Initia

    2024年02月03日
    浏览(61)
  • 波奇学C++:多态知识点

    结果是 student 0 原因在于重写时只重写函数的实现,就是说相当于Person的fun的声明和Student的函数实现的拼在一起所以缺省值是0。 如果是子类指针或者引用就不是多态调用了只是单存子类对父类的重定义,隐藏函数。 上一篇文章提到的,多态的本质就是基类和派生类的虚表中

    2024年02月09日
    浏览(41)
  • 力扣刷题(C++)知识点

    一,找到数组的中间位置 这个是错的,+=不能分开来   C++ vectorint nums 用法 创建一维数组vector: vectorint nums;  //不指定长度 vectorint nums(n);    //指定长度为n   c++ <numeric> accumulate 函数 accumulate函数实现将一段数字从头到尾累加起来 前两个参数是指定累加的范围,第三个参数

    2024年02月13日
    浏览(72)
  • 一些关于c++的琐碎知识点

    目录 bool强转 const构成重载:const修饰*p  移动构造 new int (10)所做的四件事 this指针---为什么函数里面需要this指针? .和-的区别 new创建对象 仿函数 new和malloc的区别 c++系统自动给出的函数有 delete和delete[ ]区别何在 检查有没有析构函数 explict外部 内存泄漏的本质:丢失了内存地

    2024年02月07日
    浏览(49)
  • 面试指南:C++之STL知识点

    相关系列文章 面试指南:C++之STL知识点 C++内存分配策略 深入理解STL空间分配器(一): new_allocator 深入理解STL空间分配器(二):mt_allocator 深入理解STL空间分配器(三):pool_allocator 深入理解STL空间分配器(四):bitmap_allocator 目录 1.讲讲STL的六大组件 2.vector 2.1.简单说说vector 2.2.vecto

    2024年02月21日
    浏览(47)
  • QT C++ 中的重要知识点

    以下是一些 QT C++ 中的重要知识点: 1. 信号和槽机制 :QT C++ 中的信号和槽机制是一种事件处理机制,用于在对象之间传递消息。信号是一种特殊的函数,当特定事件发生时,它们被发射。槽是一种普通的函数,用于响应信号。通过连接信号和槽,可以实现对象之间的通信。

    2024年02月05日
    浏览(49)
  • C++进行3D建模学习哪些知识点?

    1. C++语言基础: 学习C++的基本语法、数据类型、控制流、函数等基础知识。 了解C++的面向对象编程(OOP)概念和相关特性,如类、继承、多态等。 2. 数学和几何知识: 3D建模涉及到数学和几何的概念。 你需要了解向量、矩阵、坐标系转换、点、线、面、多边形等基本几何概

    2024年02月07日
    浏览(52)
  • redis核心知识点简略笔记

    value数据类型 string 二进制安全 list 有序、可重复 set 无序、不重复 hash field-value的map sorted set 不重复、通过double类型score分数排序 场景 string 计数器 缓存 分布式锁 访问频率控制 分布式session hash 购物车等对象属性灵活修改 list 定时排行榜 set 收藏 sorted set 实时排行榜 持久化

    2024年02月13日
    浏览(55)
  • CSP初赛知识点 学习笔记

    对于咱们信奥选手来说,会做的题要坚决不丢分,不会做的题要学会尽量多拿分,这样你的竞赛之路才能一路亨通! 文件(文件夹)操作 点击查看代码 G++/Gcc 基础指令 访问速度:寄存器 () 高速缓存 () 内存(ROM + RAM) () 外存,断电仅保留 ROM 和外存中的数据。 (texttt

    2024年02月09日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包