3 三公子Tjq

尚未进行身份认证

三少爷的剑:剑气纵横三万里,一剑光寒十九洲!

等级
TA的排名 4k+

QVector容器内元素排序和去重简单用法(sort、vector、unique、erase)

本文主要总结给Qt的QVector容器内元素排序和去重,下面是关键函数总结。1.1核心函数讲解Qt中的QVector容器用法跟STL中的vector容器基本一样。本文是先建立一个容器,然后随机填充十个0-5内整数,接着用算法对QVetor容器内的元素进行排序和去重。其中,算法的关键是先对容器元素进行排序才能去重。排序用STL的sort()函数,去重用STL的unique()函数和era...

2019-08-08 19:12:50

Qt中QMap键值对基本用法(键值对)

本文主要总结Qt中键值对QMap的基本用法。1.1原型讲解QMap是一个键值对类,跟标准C++的map类基本类似,声明原型如下:QMap<T1,T2>map1T1为键值对中的键key,T2为键值对中的值。通过键值对中的键可以搜索到值。一般来说,键值对中的键是唯一的,不可重复,而值没有要求,可以重复。并且QMap具有自动排序功能,对输入的键进行排序。1.2下面是一...

2019-08-07 15:46:45

C/C++在声明一个指针时初始化为nullprt(delete后奔溃、释放空指针)

1.1C/C++在声明指针规范C/C++在声明一个指针时,一定要附初始值为nullprt,并且释放的时候也要把其值赋值为nullprt。这样做的好处是可以用当前指针是否为nullprt来判断是否分配了内容。这是博主血泪教训,千万要遵循C++默认准则,否则释放一个空指针,会导致程序奔溃!!!BYTE*p2=nullptr;if(p2)//判断是否为空指针nu...

2019-08-02 09:59:11

Unicode字符和字符串显示为中文(一个Unicode由两个字节BYTE组成)(Qt C++)

本文主要用Qt总结一个函数unicodeShowCh(),该函数的功能是把n个Unicode字符,即Unicode字符串显示为中文。其中,在Windows64位系统中,一个Unicode为两个字节byte。1.1原理解释在qt中,显示Unicode编码为中文十分简单,只需要用QString就可以了。QString(QCharunicode)构造函数和QString::append(QCh...

2019-08-01 14:29:43

n个十六进制数组合成一个有符号整数(或无符号数)(C++语言)(指定字节数)

本文主要总结一个简单的n个16进制数组合成一个有符号整数函数,以及该函数的调用。众所周知,一般家用64位PC系统上,int一般是4个字节,这是有符号整形,但是假如需要3个字节或者5个字节的有符号整数怎么办?系统并没有这样的代码,故需要自己定义。1.1原理讲解当把n个十六进制数组合成一个无符号整数时,通常是用如下循环。qint64sum=0;quint8cou...

2019-07-25 14:38:29

C++内存对齐简单用法(预编译指令#pragma pack(1))

C语言和C++都有内存对齐,当定义一个结构体时,如果不指定内存对齐方式,则会按照默认的最大元素内存对齐。C++中,内存对齐用编译头指令#pragmapack(N),N代表N个字节对齐。如果N的值为零,则自动恢复原来系统内存对齐。下面是一个实例,按照一个字节内存对齐voidWidget::on_pushButton_2_clicked(){#ifndefDE#defineDE...

2019-07-23 14:52:21

V141未安装错误

博主github下载一个demo,是用vs2017开发的。博主用的是vs2015IDE,编译时出现错误:V141未安装错误,具体错误如下所示...........................(晚点补图)1.1错误原因V141编译器是vs2017自带的编译器,在vs2015是V140,两个不同版本编译器编译同一个项目所以出现编译错误。1.2解决办法解决办法有两种。第一种是安装...

2019-07-18 11:44:14

用cfdl(dd命令的Windows版)命令查看Windows挂载的磁盘(dd --list)

cfdl是Windows版的dd命令,用法跟dd几乎完全一模一样,是开源协议,采用GPL协议。下面是cfdl下载地址:(源代码和可执行程序)http://www.chrysocome.net/dd1.1将下载好的cfdl解压后,放在指定文件夹,然后输入如下命令,就可以调用cfdl命令D:/device/dd-0.6beta3/dd.exe--list...

2019-07-17 23:15:03

Windows中用nc.exe命令拉取手机端boot.img镜像

本文主要总结在Windows系统中,用nc.exe命令拉取手机端boot.img镜像,具体的内容如下所述。环境搭建:a硬件环境:一台智能手机,开启root权限,允许usb调试(选择一律允许调试)b软件环境:下载nc.exe可执行程序,可以在这里下载:https://download.csdn.net/download/naibozhuan3744/103045371...

2019-07-17 23:14:07

C++可变参数模板函数基本用法

可变参数模板可以创建任意个参数的模板函数和模板类,本文主要介绍可变参数模板函数。1.1可变参数模板函数声明和定义template<typename...Args>//Args是一个模板参数包voidShow(Args...args)//args是一个函数参数包{//函数功能return;}由上面代码可知,Args是一个模板参数...

2019-07-17 23:08:32

C++11 lambad函数(lambad表达式)基本用法

C++11新增了lambda函数,也称为lambda表达式。lambda表达式主要作用是让我们能够将类似于函数的表达式用作接受函数指针或者函数符的函数的参数。如果不知道函数符含义,可以参考博主这篇博文:https://blog.csdn.net/naibozhuan3744/article/details/955299161.1lambda表达式声明和定义如下voidFuncti...

2019-07-17 20:16:58

C++函数返回类型后置用法(decltype)

常用的函数返回类型一般是在前面即voidfunction();。但是C++11新增了语法,函数返回类型声明后置,在函数名和参数列表后面返回指定类型。C++函数返回类型后置一般用于模板函数中,可以提前返回编译器还没编译开始的类型。#include<iostream>//编译器在遇到f3的参数列表前,T和U还不在作用域内,因此在参数列表后使用decltypetemplate...

2019-07-16 18:44:00

结构体struct(或类class)占用结构空间总结

结构体占用的内存空间跟类一样,区别只在于结构体成员默认是public,而类默认是private。1.1占用空间解析结构体中构造函数、成员函数、析构函数是不占用内存空间的,只有成员变量才占用结构体的内存空间。当然还有一个虚函数也会占用四个字节地址空间。枚举类型占据四个字节,范围为4294967296足够用了,不够需要扩充,一般很少这种情况。结构体内的结构体占的内存空间的对齐方式,是按照该...

2019-07-16 15:37:46

C++读写文件操作(fstream、ifstream、ofstream、seekg、seekp、tellg、tellp用法)

本文主要总结用C++的fstream、ifstream、ofstream方法读写文件,然后用seekg()、seekp()函数定位输入、输出文件指针位置,用tellg()、tellp()获取当前文件指针位置。一、核心类和函数功能讲解fstream:文件输入输出类。表示文件级输入输出流(字节流);ifstream:文件输入类。表示从文件内容输入,也就是读文件;ofstream:文件输...

2019-07-15 23:47:44

C++中控制cout输出两位小数点精度(显示固定位数十六进制数,前面补零)

使用cout输出时,想要控制输出的格式,比如显示两位小数、显示十六进制数、全部显示大写字母、输出十六进制数时带0x,这些都可以用标准函数库std中的setf()来完成,即使用cout.setf()。当然,如果显示十六进制数,也可以使用std::hex来控制。下面对函数cout.setf()原型进行讲解和给出两个简单例子,第一个例子是显示两位小数,第二个例子是显示固定位数十六进制数,不足位数补零...

2019-07-12 22:34:12

C++添加简单单词字典和按字母排序实例(应用STL容器set、map、vector、iterator)

下面是一个C++添加简单单词字典和按字母排序实例总结代码。该例子用到了STL容器中的set、map、vector、iterator,具体代码如下:#include<iostream>#include<string>#include<vector>#include<iterator>#include<algorithm...

2019-07-11 23:39:39

STL算法之函数对象(函数符)基本用法

函数符是通过重载小括号(),即operator()来实现的,声明和定义跟重载operator+等运算符类似。函数符概念定义如下:生成器(generator):不用参数就可以调用的函数符; 一元函数(unaryfunction):用一个参数就可以调用的函数符(比如for_each(),每次用于一个容器元素); 二元函数(binaryfunction):用两个参数就可以调用的函数符;...

2019-07-11 23:06:40

用C++标准库函数std::euqal()替换C语言字符比较函数strcmp()(比较两个字符串是否相等函数)

C++标准库函数std::euqal()功能比C字符的比较函数strcmp()强大和广泛。std::euqal()的功能是比较两个容器或者数组是否相同,数组的类型可以是char*、BYTE等常用基本数据类型。当需要比较两个字符串或者字符数组是否相等时,可以用std标准库函数equal()函数替换strcmp。1.1std::euqal()函数声明和定义/***@brie...

2019-07-11 23:01:00

重载操作符operator=()简单用法(类对象初始化方法之一:给对象赋值)

用C++重载操作符operator=()可以给一个该类的对象赋值,把这个对象当成整数一样来赋值。下面是具体的用法示例#include<windows.h>#include<QDebug>classNC{public:BYTEb=5;NC(){}NC&operator=(constBYTE&va...

2019-07-11 15:35:35

STL关联容器set、multimap基本用法1(C++)

STL具有容器概念和容器类型。概念是具有名称(如容器、序列容器、关联容器等)的通用类别;容器类型时可用于创建具体容器对象的模板。旧的容器有11个,分别为deque、list、queue、priority_queue、stack、vector、map、multimap、set、multiset和bitset。博主主要总结的是关联容器set和multimap基本用法,其它容器的原理和用法可以参考《...

2019-07-10 23:44:54

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。