C++
文章平均质量分 69
面向大象编程
这个作者很懒,什么都没留下…
展开
-
C++填坑:重写、重载、隐藏
重写重写的定义:重写发生在基类和派生类的继承关系之中,被定义为虚函数的基类成员函数,由派生类进行重新定义和实现,同时隐藏掉基类的方法(即派生类调用该重写方法时,会使用派生类重定义的方法,而非基类方法)。例如:#include <iostream>using std::cout;using std::endl;class Base{public: Base(){}; ~Base(){}; virtual void fun() {cout << "Base cl原创 2021-09-17 20:33:59 · 273 阅读 · 0 评论 -
C++填坑:前向声明
学习的过程中无意间看到前向声明的用法,在这之前开发项目过程中出现过由于模块太多,不同.h相互包含导致的各种问题,使用前向声明可以一定程度上减少出现由于头文件重复包含的问题,特此记录详解前向声明就是提前声明类,但不去定义它,可以使用该类的指针或引用。声明的类是一个不完全类型(有声明没定义,找不到任何成员函数和成员变量),因此在使用上会有限制。class ForwardDeclare;//前向声明一个类(1)不能定义ForwardDeclare类的对象。(2)可以用于定义指向这个类型的指针或引用。(原创 2021-06-13 17:46:51 · 377 阅读 · 0 评论 -
STL:二分函数源码剖析
文章目录前言一、lower_bound()1.源码2.使用实例二、upper_bound()1.源码2.使用实例三、equel_range()1.源码2.使用实例四、binary_search()1.源码2.使用实例前言刷题总会出现一些STL封装好的算法,用起来确实不错,不过想深入一下,知其然知其所以然本章内容为涉及二分查找的四个STL函数参考网址:C++ Reference一、lower_bound()1.源码template <class ForwardIterator, cl.原创 2021-06-03 01:44:13 · 352 阅读 · 0 评论 -
C++填坑:auto使用
内容主要搬运于知乎auto使用过程中的坑一、用法在函数返回值 / range-for 等情况中使用 auto 时,有 5 种用法auto :拷贝auto& :左值引用,只能接左值(和常量右值)auto&& :万能引用,能接左值和右值const auto& :const 万能引用,能接左值和右值const auto&& :常量右值引用,只能接右值很多人直接就写 auto&&,但尽量分场景使用auto:用于你想修改右值的情转载 2021-06-01 01:12:46 · 629 阅读 · 0 评论 -
C++填坑:Sort的使用
文章目录前言一、sort简介二、语法三、使用实例1.默认排序2.自定义规则排序3.使用lambda函数替代自定义规则函数前言刷leetcode把数字排成最小数中,需要自定义排序规则,可以通过在sort的第三个参数传入自己定义的排序规则函数实现,记录一下sort的用法一、sort简介sort()排序函数是c++头文件include <algorithm>中的函数,采用的是一种类似于快排的排序方式(当数据小于16使用插入排序,一般使用快排,数据量大的时候切换堆排,动态适应),时间复杂度原创 2021-06-01 00:25:06 · 389 阅读 · 3 评论 -
C++填坑:关于float和double
文章目录前言一、十进制数如何表示?二、二进制数如何表示?1.定点表示法2.浮点数表示法2.1 注意事项三、整型与浮点型数据在计算机内存中的存储1.整形归类2.整型在内存中的存储前言刚开始看计算机图形学,开篇就看见建议使用双精度double进行几何计算,使用单精度float进行色彩计算,对于占用大量内存的数据,例如三角形网格,建议存储float数据,但在通过成员函数访问数据时,将其转换为double。为啥呢?现代体系结构表明,降低内存使用和保持一致的内存访问是提高效率的关键。想起之前看计算机组成原原创 2021-04-30 19:27:44 · 605 阅读 · 1 评论