自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 逻辑运算符与位运算符 & | ! ~

一:逻辑运算符在C语言中,&&和||都属于逻辑运算符,并且都是双目运算符。逻辑运算符总共有3个,分别是"&&"、"||"和"!"。a && b,一假必假,结合性从左至右。||是逻辑或运算符,a || b,一真必真,结合性从左至右。if(a&&b)if(a||b)if(!a)二:位运算符位运算是指按二进制进行...

2019-07-16 11:11:54 2006

原创 各类型的数据操作 char string int long float等

char 与 int之间的转换 https://blog.csdn.net/smilesundream/article/details/77881995cout 输出stringhttps://www.cnblogs.com/mzct123/p/4876185.htmlC++字符串操作 https://www.cnblogs.com/lidabo/p/348704...

2019-03-13 15:50:05 286

转载 namespace 命名空间

命名空间 std是一个类(输入输出标准),它包括了cin成员和cout成员,“using name space std ;”以后才能使用它的成员。#include<iostream.h>中不存在类std,但是他有cin,out的相关函数,不需要使用命名空间了。而第二种标准#include<iostream>,它包含了一个类,在类的使用之前要预处理一下,“using...

2019-02-13 10:58:02 199

转载 this指针

 this只能在成员函数中使用。全局函数,静态函数都不能使用this。实际上,成员函数默认第一个参数为T* const register this。为什么this指针不能再静态函数中使用?  大家可以这样理解,静态函数如同静态变量一样,他不属于具体的哪一个对象,静态函数表示了整个类范围意义上的信息,而this指针却实实在在的对应一个对象,所以this指针当然不能被静态函数使用了,同理,...

2019-02-13 10:56:14 117

转载 S下使用QDebug

  https://blog.csdn.net/ussr561/article/details/60335275 #include <QDebug>...qDebug() << "Brush:" << myQBrush << "Other value:" << i;VS进入 Project Propert

2019-01-08 21:42:00 138

转载 QProcess

 参考:https://blog.csdn.net/wzj0808/article/details/793673141、主程序:初始化及设定信号槽    process = new QProcess();     connect(process,SIGNAL(started()),SLOT(started()));     connect(process,SIGNAL(fin...

2019-01-07 14:40:02 2546 2

转载 QThread

首先,简单介绍一下使用QThread的正确方法:第一步,写一个自己的类,继承QObject,然后在此类中定义一个自己想运行的方法,起什么名字都可以,没有限制。比如,在下文中,笔者将这个方法命名为void run().第二步,因为此自定义类是继承了QObject的,所以可以调用moveToThread(QThread)方法,将整个自定义类的对象移到该QThread中。第三步,做一系列的c...

2019-01-02 16:21:20 108

转载 QVariant

 1. 简介QVariant可以存储各种数据类型,QVariant行为类似于C/C++的union, 但在Qt中比union强大很多, QVariant内置支持所有QMetaType::Type里声明的类型如:int,QString,QFont,QColor等,甚至QList,QMap<QString, QVariant>等组成的任意复杂类型。简单的说QVariant可以存储任...

2019-01-02 14:56:01 985

转载 QByteArray

QByteArray在串口通讯中经常被使用,有一定必要较为全面详细的对QByteArray进行阐述。本文通过以下几个部分加以介绍:1. 初始化2. 访问与赋值3. 添加、删除、插入与替换操作4. 查找与比较5. 数据转换与处理1 初始化2 访问与赋值 访问QByteArray主要有4中方式,分别为[]、at()、data[]和constData[...

2019-01-02 14:06:33 1004

转载 QTime QDate

QTimeQTime的currentTime()函数用于获取当前的系统时间。 QTime的toString()函数用于将获取的当前时间转换为字符串类型。 toString函数指定转换后时间的显示格式,例如: hh:mm:ss A //A表示PM,AP表示AM,Ap表示am,a表示pm   QTime time=QTime::currentTime(); QString t...

2019-01-02 13:41:38 174

转载 QTimer

QTimer是一个计时器类 它的使用分三步,创建对象,连接signal和slot函数,start()QTimer *timer = new QTimer(this);connect(timer, SIGNAL(timeout()), this, SLOT(update()));timer->start(1000);this指针对应到类中其中,SIGNAL(timeou...

2019-01-02 11:09:39 2335

转载 QT读取XML

 读取XML1).读取根节点:QDomElement root = doc.documentElement();2).读取第一个子节点:QDomNode node = root.firstChild();3).读取下一个子节点:node = node.nextSibling();4).匹配结点标记:node.toElement().tagName() == "note"5)...

2018-12-27 22:41:18 1602

转载 QT写XML

一:WriteXml1).创建根节点:QDomElement root = doc.documentElement("rootName " );2).创建元素节点:QDomElement element = doc.createElement("nodeName");3).添加元素节点到根节点:root. appendChild(element);4).创建元素文本:QDomText n...

2018-12-27 16:38:42 502

原创 QDir QFile QFileInfo

QDir 对应的为对路径操作获取当前程序所在的目录。[static] QString QDir::currentPath()获取当前光标所在的目录。static] QString QDir::Path()QFile 对应的为“文件”的操作#include "mainwindow.h"#include <QApplication>#...

2018-12-26 10:20:27 242

转载 QTextStream

写操作:#include &lt;QtCore/QCoreApplication&gt;#include &lt;QFile&gt;#include &lt;QtDebug&gt;#include &lt;QTextStream&gt; int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);    ...

2018-12-24 22:32:27 916

转载 Qt之QThread

 https://wenku.baidu.com/view/eb8b4583a216147916112843.html一、线程管理1、线程启动void start(Priority priority = InheritPriority)调用后会执行run()函数,但在run()函数执行前会发射信号started(),操作系统将根据优先级参数调度线程。如果线程已经在运行,那么这个函...

2018-12-20 15:42:42 131

转载 Qt之自定义属性Q_PROPERTY

 相当于定义了某一个数据属性,此数据可读性,可写性、复位值、信号关联等内容    Qt提供了一个绝妙的属性系统。跟那些由编译器提供的属性差不多。然而,作为一个独立于编译器和平台的库,Qt不依赖于非标准的编译特性,比如__property 或[property]。Qt可以在任何平台上的标准编译器下编译。Qt属性系统基于元数据对象系统--就是那个提供了对象内置信号和槽通讯机制的家伙。   ...

2018-11-23 15:33:57 401

转载 #define、#undef、#ifdef、#ifndef、#if、#elif、#else、#endif、defined

  #define            定义一个预处理宏#undef            取消宏的定义#if                   编译预处理中的条件命令,相当于C语法中的if语句#ifdef              判断某个宏是否被定义,若已定义,执行随后的语句#ifndef            与#ifdef相反,判断某个宏是否未被定义#elif    ...

2018-11-23 14:20:38 215

转载 union struct enum

 一:联合体union的基本特性——和struct的同与不同union,中文名“联合体、共用体”,在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量。不过区别也挺明显:结构体(struct)中所有变量是“共存”的——优点是“有容乃大”,全面;缺点是struct内存空间的分配是粗放的,不管用不用,全分配。...

2018-11-20 15:01:49 122

转载 QMap

 #include "mainwindow.h"#include &lt;QApplication&gt;#include &lt;QMap&gt;#include &lt;QDebug&gt;int main(int argc, char *argv[]){ QApplication a(argc, argv); QMap&lt;QString,int&gt; ...

2018-11-20 11:30:44 359

转载 QList

#include "mainwindow.h"#include &lt;QApplication&gt;#include &lt;QFile&gt;#include &lt;QString&gt;#include &lt;QDir&gt;#include &lt;QtCore&gt;#include &lt;QDebug&gt;#include &lt;QList&am

2018-11-20 11:16:32 3316

转载 QT 信号 槽(emit,signal,slot)

 Qt中的类库有接近一半是从基类QObject上继承下来,信号与反应槽(signals/slot)机制就是用来在QObject类或其子类间通讯的方法。作为一种通用的处理机制,信号与反应槽非常灵活,可以携带任意数量的参数,参数的类型也由用户自定。同时其本身也是类型安全的,任何一个从QObject或其子类继承的用户类都可以使用信号与反应槽。  在Qt中,对于发出信号的对象来说,它并不知道是谁接...

2018-11-19 14:58:57 593

转载 map

 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们...

2018-11-17 22:47:42 106

翻译 c++ list

      list是一个线性双向链表结构,它的数据由若干个节点构成,每一个节点都包括一个信息块(即实际存储的数据)、一个前驱指针和一个后驱指针。它无需分配指定的内存大小且可以任意伸缩,这是因为它存储在非连续的内存空间中,并且由指针将有序的元素链接起来。由于其结构的原因,list 随机检索的性能非常的不好,因为它不像vector 那样直接找到元素的地址,而是要从头一个一个的顺序查找,这样目标元...

2018-11-17 22:43:45 106

转载 迭代器 iterator

   迭代器是一种检查容器内元素并遍历元素的数据类型。C++更趋向于使用迭代器而不是下标操作,因为标准库为每一种标准容器(如vector)定义了一种迭代器类型,而只用少数容器(如vector)支持下标操作访问容器元素。作用类似指针 一.定义和初始化  每种容器都定义了自己的迭代器类型,如vector:vector&lt;int&gt;::iterator iter;...

2018-11-17 22:36:24 98

转载 vector

 在c++中,vector是一个十分有用的容器。存在方式类似于数组,与list在删除、插入方面有较大差别。作用:它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。 List是stl实现的双向链表,与向量(vect...

2018-11-17 22:23:52 74

转载 C++ 接口(抽象类)

 接口描述了类的行为和功能,而不需要完成类的特定实现。C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。纯虚函数是通过在声明中使用 "= 0" 来指定的,如下所示: class Box{ public: // 纯虚函数 vir...

2018-11-15 17:07:57 64

转载 数据封装与数据抽象

 所有的 C++ 程序都有以下两个基本要素:程序语句(代码):这是程序中执行动作的部分,它们被称为函数。 程序数据:数据是程序的信息,会受到程序函数的影响。封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,这样能避免受到外界的干扰和误用,从而确保了安全。数据封装引申出了另一个重要的 OOP 概念,即数据隐藏。数据封装是一种把数据和操作数据的函数捆绑在一起的机制。...

2018-11-15 16:54:12 452

转载 C++ 模版 Template

 转自:http://www.360doc.com/content/09/0403/17/799_3011262.shtml1. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。...

2018-11-15 11:27:15 143

转载 编译过程

连接:https://www.cnblogs.com/xcywt/p/4902789.html 我们知道,一个程序由源代码到可执行文件往往由这几步构成:预处理(Prepressing)-&gt; 编译(Compilation)-&gt; 汇编(Assembly)-&gt; 链接(Linking)。 编译过程就是把预处理完的文件进行一系列词法分析、语法分析、语义分析及优化后生产相...

2018-11-14 14:11:20 188

转载 C++多态

1. 定义:“一个接口,多种方法”,程序在运行时才决定调用的函数。2. 实现:C++多态性主要是通过虚函数实现的,虚函数允许子类重写override(注意和overload的区别,overload是重载,是允许同名函数的表现,这些函数参数列表/类型不同)。  *多态与非多态的实质区别就是函数地址是早绑定还是晚绑定。  *如果函数的调用,在编译器编译期间就可以确定函数的调用地址,并生产...

2018-11-08 22:42:31 165

转载 继承 public protect private

  1:不管是哪种继承方式, 在派生类内部都可以访问基类的公有成员和保护成员 , 基类的私有成员存在但是在子类中不可见( 不能访问) 。 2:使用关键字class时默认的继承方式是private, 使用struct时默认的继承方式是public, 不过最好显式的写出继承方式。.3:在实际运用中一般使用都是public继承, 极少场景下才会使用protetced/private继承。  ...

2018-11-06 21:27:10 1651

转载 ++( 自增运算符) 与 --( 自减运算符)

     前缀形式的++操作符出现在操作数的前面。    例如:   ++a;    说明: 操作数的值被相加,而表达式的值就是操作数增加后的值。     举例:   int a, b = 1;            a = ++b;        //b增加至2,a得到的值为2     后缀形式的++操作符出现在操作数的后面。    例如:   a++; ...

2018-11-06 14:29:35 1429

转载 C++ 运算符重载 operator

 您可以重定义或重载大部分 C++ 内置的运算符。这样,您就能使用自定义类型的运算符。重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。Box operator+(const Box&amp;);声明加法运算符用于把两个 Box 对象相加,返回最终的 Box 对象。大多数的...

2018-11-06 13:59:02 292

转载 c++ 拷贝构造函数 CExample(const CExample & c)

 一、什么是拷贝构造函数      首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=100;int b=a;  而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。  下面看一个类对象拷贝的简单例子。#include&lt;iostream&gt;using namespace std;class CExample{pr...

2018-11-05 16:39:40 542

转载 友元函数 友元类 friend

 C++提供诸多便捷方式,但各有优劣需谨慎使用。友元提供了不同类的成员函数之间、类的成员函数与一般函数之间进行数据共享的机制。通过友元,一个不同函数或另一个类中的成员函数可以访问类中的私有成员和保护成员。c++中的友元为封装隐藏这堵不透明的墙开了一个小孔,外界可以通过这个小孔窥视内部的秘密。友元的正确使用能提高程序的运行效率,但同时也破坏了类的封装性和数据的隐藏性,导致程序可维护性变差...

2018-11-05 16:39:25 198

原创 局部变量、全局变量、静态存储、动态存储关系、堆和栈

一:局部变量、全局变量、静态存储、动态存储关系变量的分类:①从空间上分配:从变量的作用域可以分成:局部变量和全局变量。②从变量的存在时间(生存周期)可以分成:静态存储和动态存储。局部变量(Local Variable):定义在函数体内部的变量,作用域仅限于函数体内部。离开函数体就会无效。再调用就是出错。全局变量(Global Variable):定义:所有的函数外部定义的变量,...

2018-11-04 22:38:35 1969

转载 new/delete和malloc/free

 参考:https://www.cnblogs.com/maluning/p/7944231.html  每个程序在执行时都会占用一块可用的内存空间,用于存放动态分配的对象,此内存空间称为自由存储区或堆。 一.new和delete用法  如下几行代码:int *pi=new int;int *pi=new int();int *pi=new int(1024);  ...

2018-11-04 22:17:06 86

转载 C++ string库

转自 https://blog.csdn.net/Duke10/article/details/78344226/使用场合:string是C++标准库的一个重要的部分,主要用于字符串处理。可以使用输入输出流方式直接进行操作,也可以通过文件等手段进行操作。同时C++的算法库对string也有着很好的支持,而且string还和c语言的字符串之间有着良好的接口。声明和初始化方法:想使用s...

2018-10-31 22:45:14 2083

原创 构造函数

类对象被创建时,编译系统对象分配内存空间,并自动调用该构造函数-&gt;由构造函数完成成员的初始化工作 构造函数的作用:初始化对象的数据成员。构造函数的种类class Complex {         private :        double    m_real;        double    m_imag;public:        //    无参数构造函数   ...

2018-10-31 22:21:35 75

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除