- 博客(33)
- 收藏
- 关注
原创 Windows打印cout
环境变量里增加两个环境变量ZHST_SAVE_VAWPROCESS_STD_OUTPUTZHST_SAVE_VAWPROCESS_STD_ERROR
2020-01-06 16:18:45
175
原创 C++防止EXE文件执行时弹出cmd的方法
程序最上面添加#pragma comment( linker, “/subsystem:“windows” /entry:“mainCRTStartup”” )
2019-11-21 19:38:38
1067
3
原创 vs获取在C盘的
只需要在属性中将UAC执行权限设置为requireAdministrator (/level=‘requireAdministrator’)
2019-10-25 17:23:29
181
原创 Qt--常见快捷键
Alt+0:显示/隐藏侧边栏ctrl+e 松开后按2ctrl+e松开后按1ctrl+b编译执行ctrl+b+s保存并编译执行ctrl+r运行项目ctrl+/ 注释或取消注释ctrl+i 自动缩进选中的代码ctrl+shift+r批量修改变量名ctrl+f搜索并替换ctrl+单击:跳转到定义位置shift+F2声明与定义之间进行切换Alt+U:大写转小写Alt+shift+...
2019-09-03 20:04:13
479
原创 Qt--信号与槽
1、信号当用户或系统出发某个动作,导致某个窗口发生变化,该窗口发送一个信号,该信号调用一个 成员函数,必要时还可以附加信号。如QPushButton控件中就有clicked(void)信号2、槽普通的类成员函数,它可以使共有的、私有的、保护的可以被重载也可以被覆盖,其参数、返回值可以是任意类型,可以被直接调用与普通函数的区别就是它可以被信号触发,自动执行。如:窗口控件QWidget中默...
2019-09-03 20:02:52
122
原创 Qt---中文处理
注意:在Qt4.8中默认不支持utf-8因此使用中文是会出现乱码。内部编码与外部编码:Qt的应用程序的控件内部所使用的都utf-16,这叫做应用程序的内部编码,而我们通过终端,控制输入的字符串叫外部编码如果,我们需要在Qt界面中加载出中文就需要改变其内部和外部的编码。改变其内外部编码只需要加上下面四行代码即可:QTextCodec* codec = QTextCodec::codeFor...
2019-09-03 20:01:31
261
原创 Qt--工具
Qt环境与编译工具1、工具Qt助手:Qt参考文档,涉及了Qt中每一个类和函数,是Qt开发人员的必备手册,在终端可以通过assistant命令启动。Qt构建器:它负责对源文件、头文件 、界面文件、进行解析生成编译脚本。qmakeqmake -project 根据当前目录文件,生成项目配置文件。xxx.protectedqmake 根据xxx.pro生成Makefile脚本Qt设计师:对于...
2019-09-03 19:57:26
231
原创 C++中的强制转换
C++为了兼容C语言,(目标类型)原类型,依然可以使用,但C语言的强制类型转换安全性差,因此建议使用C++中的强制转换。注意:C++之父认为如果代码设计的完善,根本不需要用到强制类型转换,而C++的强制类型转换之所以设计的很复杂,是为了让程序员关注代码本身的设计,尽量少使用。C++中的强制类型转换保证没有很大的安全隐患。static_cast<目标类型>原类型:编译器会对源类...
2019-08-21 17:30:15
239
原创 C++中那些不得不说的类继承
1、私有继承和保护继承使用 private:方式继承父类,在父类中所有成员都会变成私有的。这种继承方式会防止父类的成员扩散使用 protected: 方式继承父类,公开的成员便保护,这种继承方式有限的防止父类成员的扩散。 禁止向上造型: 禁止向上进行类型转换(子类的指针或引用不能隐式转换成父类的指针或引用)。 要想实现多态只能以公开方式继承父类。2、多重继承在C++中,一个...
2019-08-20 18:52:12
135
原创 c语言--段错误总结
段错误一般分为两种:访问非法内存和数组越界1、访问非法内存1、解引用空指针int* p=NULL;printf("%d\n",p);2、访问含有非法值的内存。例如:访问被 register 修饰过的指针变量register int p =10;printf("%d\n",*p);//register是c语言32个关键字之一,会让变量直接存储在内核的寄存器中,所以不能访问它修饰过的...
2019-08-19 21:04:16
685
2
原创 小河学习日记--C++类的继承
1、共性与特性共性:表达不同类型事务之间共有的属性与行为。特性:用于刻画每种事务特有的属性和行为2、共性表示为基类(父类),个性表示为子类(派生类)。子类继承自父类基类派生出子类继承的基本语法1、继承表一个子类可以同时继承零个到多个父类,每个父类的继承方式可以相同也可以不同。class 子类:继承方式1 父类1,继承方式2 父类2{}2、继承方式public:共有继承:父...
2019-08-19 20:21:15
116
原创 小河学习日记----C++输入输出操作符重载
cout 是ostream 类型的对象cin 是istream类型的对象如果<</>>运算符实现为成员函数,那么调用者应该是ostream/istream,而我们无权增加标准库的代码,因此输入输出运算符只能定义为全局函数cout << 类对象<<endl;ostream& operator<<(ostream& ...
2019-08-17 14:57:37
123
原创 小河学习日记---C++操作符重载
什么是操作符函数在C++中针对类类型的对象的运算符。由于类肯定不支持真正的操作运算,因此编译器会将它们翻译成函数这种就叫操作符函数(运算符函数)通过编译器把运算符翻译成运算符函数,可以针对自定义的类类型可以设计它独有的运算功能。其实各种运算符已经具备了一些功能,再次定义就类似于重载。双目运算符:a+b成员函数a.operator +(b);全局函数operator +(a,b)...
2019-08-17 14:55:44
129
原创 小河学习日记--C与C++不同之处出
C与C++的不同之处(只讲区别,C++有而C没有的,请听下回分解)一.内存管理1.C使用的时malloc/free,malloc再分配内存时是一页一页的分配的,当使用malloc时操作系统会直接批发32页内存,所以使用malloc时,如果没有后续在堆内存上的操作了,是可以越界的。例如如:#include<stdio.h>#include<stdlib.h>int...
2019-08-16 19:49:05
118
原创 小河学习日记---C++ string (模仿篇)
#include#include<string.h>using namespace std;class String{private:char* str;public:String(const char* str){this->str=new char[strlen(str)+1];strcpy(this->str,str);}String(voi...
2019-08-16 19:08:03
133
原创 小河学习日记--C++this指针
类的成员变量单独存储在每个类对象中,成员函数储存在代码段中,所有的类对象共享一份成员函数。成员函数是如何调用它的类对象?借助this指针, 类的每个成员函数都有一个隐藏的参数this指针,它指向类对象类构造函数中,也同样由this 指针,指向正在构造的对象。在类中函数对成员变量,成员函数的访问都是借助this指针。this是隐藏的,但也可以显示使用1、参数和成员一样时,使用this 可...
2019-08-16 16:34:32
179
原创 小河学习日记--c++拷贝函数和赋值函数
拷贝构造又称为复制构造。是一种特殊的构造函数,它是使用一个现有的对象来构造一个新的对象。只有一个引用型参数(必须是对象本身),类名(类& ){}int main(){User user;User user1=user;}如果不写编译器会自动生成拷贝构造。拷贝构造的参数应该加const 保护,但编译器并没有强制限制。拷贝构造负责把就对象中的所有数据拷贝给新创建的对象。深...
2019-08-16 16:21:50
108
原创 小河学习日记--C++单例模式
只能创建出一个类对象(只有一个实例)的单例模式应用:Windows系统的任务管理器Linux/Unix系统的日志系统网站的访问计数器服务端程序的连接池、线程池、数据池。获取单一对象的方法:1、定义全局:不受控制,能防君子,不能防小人。2、专门写出一个类,把这个类的构造函数设置私有,借助静态函数提供一个接口,以此来获取唯一的实例。C++如何实现单例模式:1、禁止类的外部创建对象:...
2019-08-16 16:16:28
104
原创 小河学习日记---C++中的字符串
1、字符串的基本用法/*字符串的基本用法主要是指字符串类对象的定义与初始化方法。*/ #include int main(int argc, const char * argv[]){// 在栈上定义了一个空的字符串对象;std::string str;// 在栈上定义了一个字符串对象,然后调用构造函数对其进行初始化。std::string str1(“Hello World!”...
2019-08-14 20:01:48
144
原创 小河学习日记--osi 与TCP各层的对应
OSI | TCP/UDP | 应用应用层 |表示层 | 应用层 |会话层 | |传输层 | 传输层 | 四层路由器、交换机网络层 | 网络层 |...
2019-08-13 20:16:43
178
原创 小河学习日记 --进程间通信
一。基本概念什么是进程间通信:就是多个进程在运行时传递数据为什么需要进程间通信:进程是一个独立的资源单位,基本可以自给自足(能解决一个独立的问题)。但很多问题却不是独立的,所以进程也需要相互合作,这时就需要进程间通信了。进程间的通信方式:传统:管道简单:命令行参数,环境变量、信号、文件xsi:消息队列,共享内存、信号量网络:二、传统的进程间通信-管道管道是UNIX系统最古老的进程...
2019-08-13 20:01:36
119
原创 小河学习日记--进程1
进程与程序:程序:储存在磁盘上的文件,包含可执行指令和数据的静态实体。进程:运行的程序(一个程序可以执行多次,加载出多个进程)。处于活动状态的计算机程序进程的分类:交互进程:有输入,输出,用户可以根据自己的情况输入数据,得到想要的结果批处理进程:有脚本加载执行的程序(LINUX下的shell, windows 的bat);守护进程:总是活跃的,后台运行,一般由系统开机时加载执行或roo...
2019-08-08 20:37:50
178
原创 小河学习日记--图
元素之间存在多对多的关系(线性表的元素存在前驱和后继,树的元素之间存在父子关系,图任意元素之间都有可能存在关系)是由顶点的有穷非空集合和顶点之间边的集合组成。在图形数据结构中,数据被称为顶点,数据之间的关系被称为边在图中不允许出现没有点,但可以没有边。G(V,E) V表示顶点集合,E表示边的集合各种图的定义:无向图:顶点与顶点之间没有方向,这种边称为无向边,边用无向序偶对表示(v,v1...
2019-08-08 20:35:37
222
原创 小河学习日记--栈
栈:只有一个端口出入的数据结构顺序:在一块连续的内存空间里存储元素与元素之间的关系优点:速度快(随机访问),不易产生内存碎片,缺点:内存要求高,添加删除不方便非顺序(链式):元素随机存储在内存空间中,元素之间建立(指针)构成关系。优点:内存要求低,添加删除方便,缺点:查找速度慢(只能从头逐个遍历),容易产生内存碎片顺序栈:#include <stdio.h>#incl...
2019-08-08 20:33:14
177
原创 小河学习日记-产生死锁的条件
产生死锁的原因主要是:(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。产生死锁的四个必要条件:(1) 互斥条件:一个资源每次只能被一个进程使用。(2) 请求与保持条件:一个进程因请求资源而阻...
2019-08-08 20:26:42
120
原创 小河学习日记--网络通信基础知识篇
一、计算机网络1、什么是计算机网络计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。2、计算机网络的功能数据通信资源共享提高系统的可靠性分布式网络处理和负载均衡3、计算机网络的组成通信子网:网卡、线缆、集线器、中继器、交换机、路由器。资源子网:网...
2019-08-08 08:59:15
192
原创 小河学习日记---tcp网络通信接收端
#include <stdio.h>#include <unistd.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h>int main(){printf(“服务器创建socket…\...
2019-08-08 08:56:24
100
原创 小河学习日记--网络通信发送篇
#include <stdio.h>#include <unistd.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h>int main(){printf(“服务器创建socket…\...
2019-08-05 20:53:11
103
原创 小河学习日记之树篇
树相关的额术语: 根:树的最顶层的元素,有且只有一个。 父(双亲):指的是元素的上一层元素 子:指的是下一层元素 叶子结点:没有子节点的元素,一般在树的最底层 兄弟结点:具有同一个父节点的元素 度:子的数量 层度:树的层数 密度:树的元素个数 结点:一个元素就是一个结点。普通树:子的个数不确定 普通树的存储: 顺序存储: 1.对结点存储顺序没有要求 2.从上...
2019-08-05 09:38:01
83
原创 小河学习日记——用代码实现rm 的功能
#include<stdio.h>#include<unistd.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<dirent.h>#include<string.h>void redel(char* name)...
2019-07-27 11:06:45
159
1
原创 Linux下查看环境变量和更改环境变量
每一个程序的运行背后都有一个环境变量表,环境变量表中一般记录着程序的配置路径。环境变量量表示当前操作系统的资源配置和环境设置等相关信息。每个程序运行时,操作系统都会把所有的环境变量记录到一张表中,传给程序。在标准c语言库中为我们提供了一些函数帮助我们,增加,修改,删除,环境变量char * const char *name);功能:根据环境变量名,获取环境变量的值int putenv(ch...
2019-07-25 20:47:40
348
原创 小河学习日记--第二章---预处理指令
#include写在代码最上面,表示用别的文件中或标准库中的函数。由两种用法:1.<>表示直接从标准库中寻找。2.” “表示现在当前路径下搜索,搜索不到再在标准准库中寻找。2.#define用来进行宏定义或者宏函数的例如:#define PI 3.14 程序会在编译时将程序中的PI全部换成3.14.#define PI 3.14int main(){int a...
2019-07-24 13:02:51
115
原创 小河学习日记
第一篇__-__voidvoid 在c语言中是32个关键字其中的一个。与char, short,int,long,float,double分为一类。都是用来修饰变量和函数的。一. void void和char一样只有一个字节。void 的意思是“无类型“。 void一般用在函数名之前(void 函数名(参数))。这样的用法表示...
2019-07-13 10:11:30
187
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人