![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
鱼玄机j
冲冲冲!
展开
-
进程间通信
一、基本概念什么叫进程间通信(IPC,Interprocess communication):是指两个或多个进程之间交换数据的过程叫进程间通信进程间为什么需要通信:当需要多个进程协同工作高效率完成任务时,每个进程都是是独立的个体(资源单位),进程间就需要进行通信。进程间通信方式的分类:1、简单的进程间通信:命令行参数、环境变量表、信号、文件2、传统进程通信:管道3、XSI进程间通信...原创 2019-08-03 16:35:24 · 159 阅读 · 0 评论 -
C++学习第二日 类 的理解及使用方法
面向过程编程:关注的是问题解决的过程步骤(事情是如何解决的),算法面向对象编程:关注的是谁能解决问题(类),需要什么样的数据(成员变量),具备什么样的技能(成员函数)才能解决问题1、抽象:找出一个能够解决问题的"对象"(观察研究对象),找出对解决问题所必须的数据(属性),功能(成员函数)2、封装:把抽象的结果,归结成一个类(数据类型),然后实例化出类对象,设置对象的属性,调用对象的功能...原创 2019-08-15 20:28:59 · 239 阅读 · 0 评论 -
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 · 359 阅读 · 0 评论 -
牛客网 剑指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 · 111 阅读 · 0 评论 -
牛客网 剑指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 · 305 阅读 · 0 评论 -
计算机网络(套接字及TCP/UDP传输)学习心得
一、计算机网络1、计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。2、计算机网络的功能 数据通信 资源共享 提高系统的可靠性 分布式网络处理和负载均衡3、计算机网络的组成 通信子网 : 网卡、线缆、集线器、中继器、交换机、路由器 资源子网 ...原创 2019-08-12 15:29:50 · 1092 阅读 · 0 评论 -
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 · 465 阅读 · 0 评论 -
C++学习第三日 构造、析构、赋值构造、拷贝构造
一、this 指针类的成员变量单独存储在每个类对象中,成员函数存储在代码段中,所有的类对象共享一份成员函数成员函数是如何区别调用它的是哪个类对象?答:借助了 this 指针,类的成员函数都有一个隐藏的参数 this 指针,它指向类对象。类的构造函数中也同样有this指针,指向的就是正在构造的这个对象。在类中(成员、构造、析构函数)对成员变量、成员函数的访问都是借助了 this 指针...原创 2019-08-16 16:40:33 · 189 阅读 · 0 评论 -
C++运算符重载
一、操作符函数重载什么是操作符函数:在C++中针对类类型的对象的运算符,由于它们肯定不支持真正的运算操作,因此编译器会将它们翻译成函数,这种就叫作操作符函数(运算符函数)。编译器把运算符翻译成运算符函数,可以针对自定义的类类型设计它独有的运算功能。其实各种运算符已经具备某些功能,再次实现它的就是叫做运算符重载双目运算符: a+b 成员函数 a.operator+(b); 全局函...原创 2019-08-17 14:36:28 · 102 阅读 · 0 评论 -
C++ 继承(虚继承、虚函数)
一、子类的构造1、子类的构造在执行它的构造函数前会根据继承表的顺序执行父类的构造函数。 默认执行父类的无参构造 显式调用有参构造,在子类的构造函数后,初始化列表中显式调用父类的有参构造函数 2、子类在它的析构函数执行完后,会根据继承表的顺序逆序执行父类的析构函数。 注意:父类的指针可以指向子类的对象,当通过父类指针释放对象时,只会调用父类的析构函数,这种析构方式有可能造成内存泄露。 ...原创 2019-08-20 17:26:58 · 474 阅读 · 0 评论 -
C++ IO流 异常处理
一、虚函数表什么是虚函数表,在C++的类中,一旦成员函数中有虚函数,这个类中就会多一个虚函数表指针,这个指针指向一个虚函数表,表中记录了这个类中所有的虚函数,当这个类被继承,它的子类中也会有一个虚函数表(不管子类中有没有虚函数),如果子类的成员函数中有函数签名与父类的虚函数一样的就会用子类中的函数替换它在虚函数中的位置,这样就达到了覆盖的效果当通过类指针或引用调用函数时,会根据对象中实际的虚...原创 2019-08-24 09:15:51 · 692 阅读 · 0 评论 -
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 · 116 阅读 · 0 评论 -
牛客网 剑指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 · 108 阅读 · 0 评论 -
牛客网 剑指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 · 102 阅读 · 0 评论 -
牛客网 剑指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 · 179 阅读 · 0 评论 -
Linux下 对文件的一些常用操作
一、sync/fsync/fdatasync1、硬盘上一般会有一些缓冲区以此来提高数据的写入效率,操作系统写入数据其实是写入缓冲区,直到缓冲区满,才排队写入到磁盘中。2、这种操作降低了写入的次数,但是提高了数据写入的延时,导致缓冲区的数据与磁盘的内容不同步。 **void sync(void);** 功能:把所有缓冲区中的数据全部同步到磁盘 注意:只是发布将数据同步到磁盘的命令,并...原创 2019-07-27 09:26:58 · 167 阅读 · 0 评论 -
实现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 · 635 阅读 · 0 评论 -
牛客网 剑指offer 和为S的两个数字
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。对应每个测试案例,输出两个数,小的先输出。class Solution {public: vector<int> FindNumbersWithSum(vector<int> array,int sum) { vect...原创 2019-08-08 20:39:48 · 130 阅读 · 0 评论 -
网络文件传输工具 具有五大功能(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 · 632 阅读 · 0 评论 -
C++ 继承
一、类的继承1、共性与特性 共性 表达不同类型事物之间共同的属性和行为 个性 用于刻画每种事物特有的属性和行为2、共性表示为父类(基类),个性表示为子类(派生类) 子类继承自父类 基类派生出子类二、继承的基本语法1、继承表一个子类可以同时继承 零~多个 父类,每个父类的继承方式可以相同也可以不同 class 子类:继承方式1 父类1,继承方式2 父类2,继承方式3 父类3,....原创 2019-08-19 19:05:22 · 96 阅读 · 0 评论 -
Qt解析原理
一、Qt简介1、Qt是什么 图形用户程序框架,是对底层应用编程接口API面向对象的封装。 是一套基于C++语言的类库,专注但不局限于图形用户界面的开发,也可以进行系统调用、网络编程、数据库、2D/3D图形处理。 特点:跨平台,支持Linux,windows、MacOS、iOS、Android等操作系统。2、为什么选择Qt 基于C++语言,简单、易用、面向对象(针对GTK) 优良的跨平...原创 2019-09-05 19:47:43 · 1204 阅读 · 0 评论