![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
gehulushang
这个作者很懒,什么都没留下…
展开
-
C++字符串处理常用函数
简单总结同时练习打字#include <cctype>isalnum()如果参数是字母或数字,该函数返回trueisalpha()如果参数是字母,该函数返回真isdigit()如果参数是数字(0~9),该函数返回truetoupper();tolower();#include <inmanip>setfill(char c)就...原创 2019-07-18 17:04:44 · 2040 阅读 · 0 评论 -
关于C++标准模板库(STL)的简要认识
关于C++中标准模板库的整体介绍,不讲求细节标准模板库的主要部分容器(Containers)用来管理某类对象的集合容器分类:序列式容器:可序集群(ordered),其中每个元素都有固定的位置——取决于插入的时间和地点,和元素值无关。如果以追加方式对一个集群置入元素,其排列次序将和置入次序一致。(vector)关联式容器:已序集群(sorted),元素位置取决于特定的排序准则。如果将元素置入这样的集群,其位置取决于元素值,和置入次序无关。(vector)容器配接器:St原创 2020-05-10 22:49:10 · 154 阅读 · 0 评论 -
C++中数值极限的表示
关于C++中的数值极限的表示Class numeric_limits<>C++中的数值极限可以利用 class numeric_limits<>表示,常用方法如下:#include <iostream>#include <algorithm>#include <string>using namespace std;int main(){ cout << numeric_limits<short>原创 2020-05-09 22:24:39 · 1409 阅读 · 0 评论 -
C++中int、char和string之间的互相转换
因为经常会用到数字和字符的相互转换,下面进行一点总结转载 2020-05-02 22:12:13 · 2222 阅读 · 0 评论 -
C++多线程编程
关于C++多线程编程的相关知识参考链接:https://www.cnblogs.com/duan-shui-liu/p/11430290.htmlhttps://www.runoob.com/cplusplus/cpp-multithreading.htmlhttps://www.cnblogs.com/douzujun/p/10810506.html...原创 2020-04-30 21:17:44 · 222 阅读 · 0 评论 -
OpenCV中的Mat对象
Mat对象简介Mat是OpenCV中用来存储图像信息的内存对象,可以理解为一个包含所有强度值的像素点矩阵,另外包含图像的宽、高、类型、纬度、大小、深度等信息。通道常见的通道有1、3、4 其中4包含透明通道图像深度每一个像素的位数图像类型 创建Mat时传递的类型,例如CV_8UC3、CV_16UC2等Mat对象的组成Mat对象是由头部与数据部分组成的,头部包含了一个指向数据的指...原创 2020-03-17 21:41:17 · 841 阅读 · 0 评论 -
Qt中的一些概念
本文主要转自https://www.cnblogs.com/wanghui1234/p/8964968.html#_label1_0对象树Qt提供了一种机制,能够自动、有效的组织和管理继承自QObject的Qt对象,这种机制就是对象树。Qt对象树在用户界面编程上是非常有用的。它能够帮助程序员减轻内存泄露的压力。比如说当应用程序创建了一个具有父窗口部件的对象时,该对象将被加入父窗口部...转载 2020-01-20 18:46:43 · 612 阅读 · 0 评论 -
C++智能指针
智能指针的由来:除了静态内存和栈内存外,每个程序还有一个内存池,这部分内存被称为自由空间或者堆。程序用堆来存储动态分配的对象即那些在程序运行时分配的对象,当动态对象不再使用时,我们的代码必须显式的销毁它们。在C++中,动态内存的管理是用一对运算符完成的:new和delete,new:在动态内存中为对象分配一块空间并返回一个指向该对象的指针,delete:指向一个动态独享的指针,销毁对象,并...原创 2020-01-06 15:28:24 · 151 阅读 · 0 评论 -
C++类型转换
本文主要转载自一条傻傻的二哈https://blog.csdn.net/qq_40421919/article/details/90677220const_cast用于将const变量转为非const他的功能就是删除变量的const属性,方便再次赋值该转换在编译时完成,用于解除const,volatile修饰符,只能转换指针或者引用#include<iostream...转载 2020-01-07 13:48:22 · 77 阅读 · 0 评论 -
C++中的this指针
this指针的概念:this指针是类的指针,指向对象的首地址。this实际上是成员函数的一个形参,在调用成员函数时将对象的地址作为实参传递给this。所以this指针只能在成员函数中使用,在静态成员函数中不能用this。this指针只有在成员函数中才有定义,且存储位置会因编译器不同有不同存储位置。在 C++ 中,每一个对象都能通过this指针来访问自己的地址。this指针是所...原创 2020-01-05 16:45:30 · 1256 阅读 · 0 评论 -
C++中的堆和栈
堆和栈的定义:栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆:就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。二者的不同:管理方式:对于栈来讲,是由编译器自动管理,无需我们...原创 2020-01-02 15:10:02 · 127 阅读 · 0 评论 -
一个C++空类包含的东西
一个空类含有的函数:class Empty{ }; // 等价于class Empty{ public: Empty(){ //默认构造函数 } Empty(const Empty& rhs){ //拷贝构造函数 } ~Empty(){ ...原创 2019-12-20 10:07:00 · 724 阅读 · 1 评论 -
lambda表达式与nullptr
本文主要来自转载,原文见末尾lambdalambda表达式是匿名函数,可以认为是一个可执行体functor,语法规则如下:[函数对象参数] (操作符重载函数参数) mutable 或 exception 声明 -> 返回值类型 {函数体}[函数对象参数]标识一个 Lambda 表达式的开始,这部分必须存在,不能省略。函数对象参数是传递给编译器自动生成的函数对象类的构造...转载 2020-01-08 12:26:06 · 267 阅读 · 0 评论 -
C++中的const
const的作用:1)阻止一个变量被改变,在定义该const变量时,需先初始化,以后就没有机会改变他了;2)对指针而言,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;3)在一个函数声明中,const可以修饰形参表明它是一个输入参数,在函数内部不可以改变其值;4)对于类的成员函数,有时候必须指定其为const类型,表明其是一个常函数,...原创 2019-12-19 08:25:32 · 192 阅读 · 0 评论 -
C++中的static
面向过程中的static:静态全局变量:该变量在全局数据区分配内存; 未经初始化的静态全局变量会被程序自动初始化为0(默认初始化)(自动变量的值是随机的,除非它被显式初始化); 静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的; 静态全局变量的特点:静态全局变量无法被其他文件所用;其他文件中可以定义相同名字的变量,不会发生冲突。静态局部变量:在函...原创 2019-12-18 15:19:46 · 213 阅读 · 1 评论 -
C++构造函数
类的构造函数:类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void;构造函数可用于为某些成员变量设置初始值。编译器生成默认构造函数的情况:1.类中有一个类成员含有默认构造函数,编译器会为该类自动生成默认构造函数,自动插入代码,调用该成员的构造函数;2.基类中含有默认构造函数,编...原创 2019-12-17 19:22:08 · 96 阅读 · 0 评论 -
C++内存管理
内存区域:栈区(stack):由编译器自动分配与释放,存放为运行时函数分配的局部变量、函数参数、返回数据、返回地址等。其操作类似于数据结构中的栈。堆区(heap):一般由程序员自动分配,如果程序员没有释放,程序结束时可能有OS回收。其分配类似于链表。全局区(静态区static):存放全局变量、静态数据、常量。程序结束后由系统释放。全局区分为已初始化全局区(data)和未初始化全局区(b...原创 2019-12-16 20:28:20 · 92 阅读 · 0 评论 -
C语言宏
在介绍C语言的宏定义之前,需要介绍一下预处理。什么是预处理呢?所谓预处理是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所做的工作。预处理是C语言的一个重要的功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕后自动进入对源程序的编译。程序中以“#”开头的预处理命令,如包含命令#include,宏定义命令#de...原创 2019-12-08 17:05:02 · 167 阅读 · 0 评论 -
C++多态编程
首先上一段代码:#include <iostream>using namespace std;class Demo{ public: virtual void prin(){ cout<<"woshi"<<endl; }};class Lidemo : public Demo{ public: void prin(...原创 2019-11-07 07:56:09 · 198 阅读 · 0 评论 -
C++内联函数
关于C++内联函数、内联模板引入内联函数是为了解决函数调用的效率问题。inline内联函数是C++中的一种特殊函数,它可以像普通函数一样被调用,但是在调用时并不通过函数调用的机制而是通过将函数体直接插入调用处来实现的,这样可以大大减少由函数调用带来的开销,从而提高程序的运行效率。一般来说inline用于定义类的成员函数。避免类定义与类声明分离在声明方法的同时进行定义一般来说,i...原创 2019-10-31 09:00:00 · 313 阅读 · 1 评论