![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++进阶
文章平均质量分 64
诸葛灬孔暗
落日无边江不尽,此身此日更须忙
展开
-
C++ std::greater用法及代码示例
std::greater是用于执行比较的功能对象。它被定义为greater-than不等式比较的Function对象类。这可用于更改给定功能的功能。这也可以与各种标准算法一起使用,例如排序,优先级队列等。头文件:#include <functional.h>模板类别:template <class T> struct greater;参数:T是要通过函数调用进行比较的参数类型。返回值:它返回布尔变量,如下所示:真正:如果两个元素说(a&..原创 2022-01-07 11:10:17 · 16612 阅读 · 3 评论 -
【笔记】C++的内存管理堆和栈
C++中,内存分为5个区:堆、栈、自由存储区、全局/静态存储区和常量存储区。栈:是由编译器在需要时自动分配,不需要时自动清除的变量存储区。通常存放局部变量、函数参数等。堆:是由new分配的内存块,由程序员释放(编译器不管),一般一个new与一个delete对应,一个new[]与一个delete[]对应。如果程序员没有释放掉,资源将由操作系统在程序结束后自动回收。自由存储区:是由malloc等分配的内存块,和堆十分相似,用free来释放。全局/静态存储区:全局变量和静态变量被分配到同一块.转载 2021-12-21 20:52:25 · 272 阅读 · 0 评论 -
C++ STL基本容器的输入输出与初始化接口(vector、deque、stack,map、链表、树等)
为编程而生,方便刷题与调试,话不多说,直上源码。原文链接:C++ STL基本容器的输入输出与初始化接口(vector、deque、stack,map、链表、树等)目录1. vector2.deque3. List4.stack5.set/multiset6.map/multimap/unordered_map7.Linklist8.Tree1. vector#include "iostream"#include "vector"...原创 2021-12-04 12:41:30 · 1328 阅读 · 0 评论 -
【C++进阶】Singleton单例模式
C++ 单例模式总结与剖析单例可能是最常用的简单的一种设计模式,实现方法多样,根据不同的需求有不同的写法; 同时单例也有其局限性,因此有很多人是反对使用单例的。本文对C++ 单例的常见写法进行了一个总结, 包括懒汉式、线程安全、单例模板等; 按照从简单到复杂,最终回归简单的的方式循序渐进地介绍,并且对各种实现方法的局限进行了简单的阐述,大量用到了C++ 11的特性如智能指针, magic static,线程锁; 从头到尾理解下来,对于学习和巩固C++语言特性还是很有帮助的。本文的全部代码...转载 2021-08-23 21:36:53 · 1619 阅读 · 1 评论 -
C++ 标准库函数加不加std::?使用说明
引例:#include<iostream>int main(){ std::cout<<"我喜欢C++";//输出一句话 std::cout<<std::endl;//换行 return 0;}1.std是什么?std:: 是个名称空间标示符,C++标准库中的函数或者对象都是在命名空间std中定义的,所以我们要使用标准函数库中的函数或对象都要使用std来限定。 对象count是标准函数库...转载 2021-07-19 14:38:07 · 1717 阅读 · 0 评论 -
visual studio C++冒号:与双冒号::的使用说明
1. 冒号(1)表示机构内位域的定义(即该变量占几个bit空间)typedef struct _XXX{ unsigned char a:4; unsigned char c;} ; XXX(2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。struct _XXX{ _XXX() : y(0xc0) {}};(3)public:和private:后面的冒...原创 2021-07-18 19:28:12 · 1114 阅读 · 0 评论 -
visual studio 配置头文件路径
在程序开发中,很多时候需要用到别人开发的工具包,如OpenCV和itk。一般而言,在vs中,很少使用源文件,大部分是使用对类进行声明的头文件和封装了类的链接库(静态lib或动态dll)。如果要使用这些类,需要在文件中包含头文件的名字,如#include “cv.h”。但这个并不够,因为这个文件一般来说不在当前目录下,解决方法如下:方法一:将所包含的头文件复制到当前目录下,这个比较有局限性,因为如果头文件太多,这样比较麻烦。方法二:添加头文件所在的目录步骤A: ...原创 2021-07-18 16:06:05 · 8284 阅读 · 0 评论 -
【知识补充】C++理论:类的继承,多态,模板,虚函数,智能指针
1. 三种类的继承方式面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行效率的效果。当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建的类称为派生类。继承代表了is a关系。例如,哺乳动物是动物,狗是哺乳动物,因此,狗是动物,等等。// 基类class Animal {...原创 2021-07-16 22:45:14 · 517 阅读 · 3 评论