![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 80
Qiuchh
这个作者很懒,什么都没留下…
展开
-
快速熟悉C++之常用语法
快速熟悉C++之常用语法原创 2022-11-20 09:05:22 · 467 阅读 · 1 评论 -
std::map中的自定义key避免踩坑
std::map中的自定义key避免踩坑原创 2022-11-14 11:27:57 · 1001 阅读 · 1 评论 -
常用的正则表达式
熟练的掌握正则表达式,能够帮助程序员以最快的速度写出最优雅的代码。冰河在多年的编程工作中,对使用过的正则表达式进行了梳理和总结,这些正则表达式能够帮助你节省很多的编码时间,往往一个简单的正则表达式就能够省略大量的if...else...代码。这次,冰河向小伙伴们公开了自己平时经常使用的正则表达式,希望能够为小伙伴们带来实质性的帮助。冰河常用正则整数或者小数^[0-9]+\.{0,1}[0-9]{0,2}$只能输入数字^[0-9]*$1只能输入n位的数字^\d{n}$1只能.原创 2021-06-02 11:16:59 · 537 阅读 · 0 评论 -
C++类继承下重载等号运算符
class Base { public: Base& operator=(const Base& rhy); Base(int val=0); private: int value;};//编译器禁止声明和定义时同时定义缺省参数值。//若声明时没有定义缺省参数值,那么在定义成员函数时可以定义缺省参数值。但这种情况通常用户是看不见的,因此应避免。Base::Base(int val) { value=val;}...原创 2021-03-04 09:47:29 · 1236 阅读 · 1 评论 -
windows下安装MinGW及C++的环境配置
方法一——VS: 使用windows开发神器visio studio。这种方法比较简单,直接下载一个最新的vs安装就行。不单单是C++,C、C#、VB等都可以开发。方法二——只安装C++编译器: 最常用的免费可用的编译器是 GNU 的 C/C++ 编译器,为了在 Windows 上安装 GCC,您需要安装 MinGW。1.首先去MinGW主页下载最新版本的MinGW:www....转载 2019-04-10 11:28:38 · 947 阅读 · 0 评论 -
VS2015 解决msvcp120d.dll和msvcr120d.dll缺失异常问题
VS2015配置OpenCV2.4.xx之后(或者使用VS2015打开VS2013的工程的时候),会出现如下问题:原因:微软的Visual Studio最终用户许可协议是禁止发布调试版(名字后面有D)的DLL的,msvcp120d.dll和msvcr120d.dll是VS2013版本中的调试库文件,存在于路径:D:\softwares\Microsoft Visual Studio 12....原创 2019-01-25 11:05:16 · 3059 阅读 · 4 评论 -
C++之DLL学习
DLL的优点1) 节省内存。同一个软件模块,若是以源代码的形式重用,则会被编译到不同的可执行程序中,同时运行这些exe时这些模块的二进制码会被重复加载到内存中。如果使用dll,则只在内存中加载一次,所有使用该dll的进程会共享此块内存(当然,像dll中的全局变量这种东西是会被每个进程复制一份的)。2) 不需编译的软件系统升级,若一个软件系统使用了dll,则该dll被改变(函数名不变)时,系统升级只...转载 2018-02-08 18:02:45 · 428 阅读 · 0 评论 -
c++强制类型转换:dynamic_cast、const_cast 、static_cast、reinterpret_cast
dynamic_cast: 通常在基类和派生类之间转换时使用const_cast: 主要针对const和volatile的转换static_cast: 一般的转换(no run-time check)通常,如果你不知道该用哪个,就用这个。 reinterpret_cast: 用于进行没有任何关联之间的转换,比如一个字符指针转换为一个整形数。1)static_ca原创 2017-08-31 16:15:32 · 248 阅读 · 0 评论 -
标准c++中string类函数介绍
标准c++中string类函数介绍注意不是CString之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型原创 2017-08-29 10:11:18 · 300 阅读 · 0 评论 -
C++之单例模式代码实现
template class Singleton{public: static Type* getInstance() { if (!_instance) { unique_lock lock(_mutex); if (!_instance) _instance = make_unique(); } return _instan原创 2017-08-24 10:54:32 · 255 阅读 · 0 评论 -
C++ 学习之pair操作
一 Pair类型概述pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下: pair a;表示a中有两个类型,第一个元素是int型的,第二个元素是string类型的,如果创建pair的时候没有对其进行初始化,则调用默认构造函数对其初始化。 pair a("James", "Joy");也可以像上面一样在定义的时候直接对其初始化。 由原创 2017-08-24 10:19:47 · 335 阅读 · 0 评论 -
C++11中的匿名函数(lambda函数,lambda表达式)
C++11提供了对匿名函数的支持,称为Lambda函数(也叫Lambda表达式). Lambda表达式具体形式如下:[capture](parameters)->return-type{body}如果没有参数,空的圆括号()可以省略.返回值也可以省略,如果函数体只由一条return语句组成或返回类型为void的话.形如:[capture](parameters){body}...原创 2017-08-24 23:37:44 · 634 阅读 · 0 评论 -
(转)C++11 学习笔记 lambda表达式
lambda表达式是C++11最重要也最常用的一个特性之一。lambda来源于函数式编程的概念,也是现代编程语言的一个特点。 一.函数式编程简介定义:简单说,“函数式编程”是一种“编程范式”。它属于“结构化编程”的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。 特点:1).函数是“第一等公民”,可以赋值给他其他变量,也可以做为参数,返回值。2).只用“表达式”转载 2017-08-24 09:39:28 · 302 阅读 · 0 评论 -
派生类中的静态成员
1.基类定义的静态成员,将被所有派生类共享2.根据静态成员自身的访问特性和派生类的继承方式,在类层次体系中具有不同的访问性质 3.派生类中访问静态成员,用以下形式显式说明:类名 :: 成员 或通过对象访问 对象名 . 成员#includeclass B{ public: static void Add() { i++ ; } s原创 2017-08-13 15:25:51 · 1281 阅读 · 0 评论 -
C++继承重名问题
一、重名成员处理1.派生类定义了与基类同名的成员,在派生类中访问同名成员时屏蔽了基类的同名成员2.在派生类中使用基类的同名成员,显式地使用类名限定符:类名 :: 成员 class base { public : int a , b ; } ;class derived : public base { public :原创 2017-08-13 15:14:33 · 553 阅读 · 0 评论 -
重载赋值运算符
一、基础知识点:1.赋值运算符重载用于对象数据的复制 2.operator= 必须重载为成员函数 3.重载函数原型为:类型 & 类名 :: operator= ( const 类名 & ) ;二、区别赋值运算符重载和复制构造函数#include#includeclass Name{ public : Name ( char *原创 2017-08-13 11:33:29 · 742 阅读 · 0 评论 -
使用友员重载运算符讨论
1.若一运算符的操作需要修改类对象状态时,应该用成员函数重载;需要左值操作数的运算符(如 ++,--),若重载为友员函数时要用引用参数。使用引用参数:TriCoor operator ++ ( TriCoor & opl ) { opl . x ++; opl . y ++; opl . z ++; return opl ; }2.C++不能用友员重原创 2017-08-13 10:49:42 · 515 阅读 · 0 评论