自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Qt 实现TCP传输多人网络聊天室带界面

客户发送端头文件#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QTcpSocket>namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECT QTcpSocket* tcpSocke...

2019-09-06 20:34:29 3105 1

原创 Qt解析原理

一、Qt简介1、Qt是什么 图形用户程序框架,是对底层应用编程接口API面向对象的封装。 是一套基于C++语言的类库,专注但不局限于图形用户界面的开发,也可以进行系统调用、网络编程、数据库、2D/3D图形处理。 特点:跨平台,支持Linux,windows、MacOS、iOS、Android等操作系统。2、为什么选择Qt 基于C++语言,简单、易用、面向对象(针对GTK) 优良的跨平...

2019-09-05 19:47:43 1162

原创 C++ IO流 异常处理

一、虚函数表什么是虚函数表,在C++的类中,一旦成员函数中有虚函数,这个类中就会多一个虚函数表指针,这个指针指向一个虚函数表,表中记录了这个类中所有的虚函数,当这个类被继承,它的子类中也会有一个虚函数表(不管子类中有没有虚函数),如果子类的成员函数中有函数签名与父类的虚函数一样的就会用子类中的函数替换它在虚函数中的位置,这样就达到了覆盖的效果当通过类指针或引用调用函数时,会根据对象中实际的虚...

2019-08-24 09:15:51 626

原创 C++ 使用C++标准IO实现(可以覆盖)的cp命令(支持大文件)

#include <iostream>#include <fstream>using namespace std;int main(int argc,char* argv[]){ if(argc == 3) { char buf[1024]={}; int x = 0; fstream fs(argv[1],ios::in|ios::binary...

2019-08-21 16:30:16 423

原创 C++ 继承(虚继承、虚函数)

一、子类的构造1、子类的构造在执行它的构造函数前会根据继承表的顺序执行父类的构造函数。 默认执行父类的无参构造 显式调用有参构造,在子类的构造函数后,初始化列表中显式调用父类的有参构造函数 2、子类在它的析构函数执行完后,会根据继承表的顺序逆序执行父类的析构函数。 注意:父类的指针可以指向子类的对象,当通过父类指针释放对象时,只会调用父类的析构函数,这种析构方式有可能造成内存泄露。 ...

2019-08-20 17:26:58 428

原创 C++ 继承

一、类的继承1、共性与特性 共性 表达不同类型事物之间共同的属性和行为 个性 用于刻画每种事物特有的属性和行为2、共性表示为父类(基类),个性表示为子类(派生类) 子类继承自父类 基类派生出子类二、继承的基本语法1、继承表一个子类可以同时继承 零~多个 父类,每个父类的继承方式可以相同也可以不同 class 子类:继承方式1 父类1,继承方式2 父类2,继承方式3 父类3,....

2019-08-19 19:05:22 83

原创 C++运算符重载

一、操作符函数重载什么是操作符函数:在C++中针对类类型的对象的运算符,由于它们肯定不支持真正的运算操作,因此编译器会将它们翻译成函数,这种就叫作操作符函数(运算符函数)。编译器把运算符翻译成运算符函数,可以针对自定义的类类型设计它独有的运算功能。其实各种运算符已经具备某些功能,再次实现它的就是叫做运算符重载双目运算符: a+b 成员函数 a.operator+(b); 全局函...

2019-08-17 14:36:28 85

原创 C++学习第三日 构造、析构、赋值构造、拷贝构造

一、this 指针类的成员变量单独存储在每个类对象中,成员函数存储在代码段中,所有的类对象共享一份成员函数成员函数是如何区别调用它的是哪个类对象?答:借助了 this 指针,类的成员函数都有一个隐藏的参数 this 指针,它指向类对象。类的构造函数中也同样有this指针,指向的就是正在构造的这个对象。在类中(成员、构造、析构函数)对成员变量、成员函数的访问都是借助了 this 指针...

2019-08-16 16:40:33 152

原创 C++封装链表 类

List.h#ifndef LIST_H#define LIST_H#include<stdio.h>#include<iostream>#define TYPE intusing namespace std;class Node{public: TYPE data; Node* next; Node(TYPE _data) { data ...

2019-08-15 20:32:53 343

原创 C++学习第二日 类 的理解及使用方法

面向过程编程:关注的是问题解决的过程步骤(事情是如何解决的),算法面向对象编程:关注的是谁能解决问题(类),需要什么样的数据(成员变量),具备什么样的技能(成员函数)才能解决问题1、抽象:找出一个能够解决问题的"对象"(观察研究对象),找出对解决问题所必须的数据(属性),功能(成员函数)2、封装:把抽象的结果,归结成一个类(数据类型),然后实例化出类对象,设置对象的属性,调用对象的功能...

2019-08-15 20:28:59 223

原创 C++学习第一日总结

一、C++介绍本贾尼 斯特劳斯特卢普,于1979年4月份贝尔实验室的本贾尼博士在分析UNIX系统分布内核流量分析时,希望有一个有效的更加模块化的工具1979年10月完成了预处理器Cpre,为C增加了类机制,也就是面向对象,1983年完成了C++的第一个版本,C with classes也就是C++。‘C++与C的不同点: 1、C++完全兼容C的所有内容 2、支持面向对象的编程思想 3...

2019-08-14 20:53:14 96

原创 计算机网络(套接字及TCP/UDP传输)学习心得

一、计算机网络1、计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。2、计算机网络的功能 数据通信 资源共享 提高系统的可靠性 分布式网络处理和负载均衡3、计算机网络的组成 通信子网 : 网卡、线缆、集线器、中继器、交换机、路由器 资源子网 ...

2019-08-12 15:29:50 976

原创 牛客网 剑指offer 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。上代码class Solution {public: int MoreThanHalfNum_Solution(vector<int> numbers) { ...

2019-08-12 15:25:13 295

原创 牛客网 剑指offer 最小的k个数

输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。上代码class Solution {public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { int len = input.size...

2019-08-12 15:23:16 81

原创 网络文件传输工具 具有五大功能(list cd mkdir put get(TCP/UDP)传输)

客户端#include <stdio.h>#include <unistd.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h>#include <getch.h>#incl...

2019-08-09 21:21:08 611

原创 牛客网 剑指offer 和为S的两个数字

输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。对应每个测试案例,输出两个数,小的先输出。class Solution {public: vector<int> FindNumbersWithSum(vector<int> array,int sum) { vect...

2019-08-08 20:39:48 117

原创 牛客网 剑指offer 二叉树的镜像

操作给定的二叉树,将其变换为源二叉树的镜像。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: void...

2019-08-04 20:34:51 138

原创 牛客网 剑指offer 矩形覆盖

我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?class Solution {public: int rectCover(int number) { if(number ==0) return 0; if(number ==1) return 1; if(num...

2019-08-03 17:34:07 89

原创 牛客网 剑指offer 替换空格

class Solution {public: void replaceSpace(char *str,int length) { int num=0; for(int i=0;i<length;i++) { if(str[i] == ' ') { num++; } }...

2019-08-03 17:32:16 74

原创 进程间通信

一、基本概念什么叫进程间通信(IPC,Interprocess communication):是指两个或多个进程之间交换数据的过程叫进程间通信进程间为什么需要通信:当需要多个进程协同工作高效率完成任务时,每个进程都是是独立的个体(资源单位),进程间就需要进行通信。进程间通信方式的分类:1、简单的进程间通信:命令行参数、环境变量表、信号、文件2、传统进程通信:管道3、XSI进程间通信...

2019-08-03 16:35:24 115

原创 实现linux ls -l的功能(简易模仿 欢迎指正 粗糙勿喷)

#include <stdio.h>#include <unistd.h>#include <sys/stat.h>#include <sys/types.h>#include <time.h>#include <string.h>#include <dirent.h>char* file_time...

2019-07-27 09:29:20 606

原创 Linux下 对文件的一些常用操作

一、sync/fsync/fdatasync1、硬盘上一般会有一些缓冲区以此来提高数据的写入效率,操作系统写入数据其实是写入缓冲区,直到缓冲区满,才排队写入到磁盘中。2、这种操作降低了写入的次数,但是提高了数据写入的延时,导致缓冲区的数据与磁盘的内容不同步。 **void sync(void);** 功能:把所有缓冲区中的数据全部同步到磁盘 注意:只是发布将数据同步到磁盘的命令,并...

2019-07-27 09:26:58 161

原创 算法

**算法:**数据结构中的算法,指的是数据结构所具备的功能。解决特定问题的方法,他是前辈们的一些优秀的经验总结。**分治:**把一个大而复杂的问题,分解为很多个小而简单的问题,利用计算机的强大计算能力来解决问题。实现分治的方法有:循环、递归递归:是函数自己调用自己的行为,这种行为可以形成循环调用,进而实现分治算法。什么情况下使用递归:问题太复杂无法拆解成循环语句。问题非...

2019-07-23 19:57:55 79

原创 数据结构——线性表

对于数据结构,大致分为四种基本类型: 集合:元素之间没有任何关系线性表:元素之间存在一对一关系(数组) 数组、链表、功能受限的表(栈、队列)树:元素之间存在一对多关系 普通数、二叉树、完全二叉树、满二叉树、有序二叉树图:元素之间存在多对多关系 邻接表、表的遍历(深度优先、广度优先)、最短路径这篇主要讲表。表,是一种线性结构,在实际应用中体现为两种,根据逻辑结构来分,分为栈和队列...

2019-07-13 10:13:00 122

原创 变量与修饰变量

变量的属性:存储位置:变量使用的是那一段内存作用域:变量的使用范围生命周期:创建时间~销毁时间变量的分类:全局变量:定义在函数外。存储位置:bss未初始化、被初始化了存储在data。作用域:整个程序,比如在a.c定义了全局变量,在b.c中也可以使用生命周期:main函数执行前就被定义出,程序运行结束后再释放局部变量:定义在函数内。存储位置:栈作用域:所在函数内生命周期:从定...

2019-05-24 21:21:53 302

原创 指针

指针:什么是指针:指针是一种数据类型(整数),这种类型类型定义出的变量叫指针变量(简称指针)内存的每个字节都有一个编号,指针变量中存储的就是这种整数。1bit 最小的可用单位,能存储1或01byte = 8 bit1 kb = 1024 byte1 mb = 1024 kb1 gb = 1024 mb1 tb = 1024 gb1 pb = 1024 tb为什么使用指针:用堆、...

2019-05-24 21:20:58 55

原创 初学者第一篇

第一次写博客(老师的硬性要求)。现在是一名大三学生,面临毕业,就业问题避无可避,细细想来,大学里也就C语言拿的出手(相对而言,实际也很菜)于是选择程序员,大一学了两年C语言,其实也就学到点皮毛,时隔两年重新拾起,希望将来有个好结果!到目前为止,我做个小小的总结,几个知识点,数组,循环,函数调用,目前是学这几个,认为自己的函数调用掌握的不是特别好,代码功能确实能实现,但是不美观,附上代码。在这...

2019-05-09 18:44:08 88

空空如也

空空如也

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

TA关注的人

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