自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux操作系统进程间通信——管道

1、管道分为有名管道和无名管道(1)有名管道可以在任意两个进程之间通讯;无名管道主要在父子进程间通讯。(2)无论有名管道还是无名管道,写入管道的数据都在内存中(储存器:磁盘,内存,缓存,寄存器,速度依次变快)。(3)管道是一种半双工通信方式(通信方式有单工哦那个,半双工,全双工) 。2、有名管道的实现(1)文件a.c代码#include <stdio.h>#include <stdlib.h>#include <string.h>#include &lt

2021-01-22 20:12:01 277

原创 C++拷贝构造函数

1、同一个类的对象在内存中有完全相同的结构,如果作为一个整体进行复制或称拷贝是完全可行的。这个拷贝过程只需要拷贝数据成员,而函数成员是共用的(只有一份拷贝)。在建立对象时可用同一类的另一个对象来初始化该对象的存储空间,这时所用的构造函数称为拷贝构造函数)。缺省拷贝构造函数特点:按位拷贝在class CGoods{private: char Name[20]; int Amount; float Price; float Total;public: CGoods(char *name,

2021-01-01 20:30:56 146 1

原创 C++常成员函数

1、普通成员函数才有常函数。C++中,构造函数、析构函数、和全局函数、静态函数都不能是常方法。

2021-01-01 17:59:54 192

原创 C++new与delete、new[]与delete[]时,空间分析

class Object{private: int Value;public: Object(int value = 0) :Value(value) { cout << "construct object" << this << endl; }; ~Object() { cout << "desconstruct oobject" << this << endl; }};int main(){

2020-12-30 23:28:37 111

原创 C++类与对象

类是一种数据类型,设计时系统不为类分配存储空间,所以不能对类的数据成员初始化。类中的任何数据成员也不能使用关键字 extern、auto 或 register 限定其存储类型。成员函数可以直接使用类定义中的任一成员,可以处理数据成员,也可调用函数成员。成员函数在类内声明,在类外或者类内都可定义,类外定义:返回值类型 类名::函数名(参数表)1、类的设计class CGoods{private: char Name[20]; int Amount; float Price; float T

2020-12-29 21:17:16 429

原创 C++new

在 C++中堆内存的分配和释放是通过 new 和 delete 来操作的。使用方式如下开辟内存: 类型* 指针变量名 = new 类型(初始化数值);释放内存: delete 指针变量名;int main(){ int *ap = new int(10);//关键字 *ap = 20; cout << *ap << endl; delete ap; ap = NULL;//释放空间后要指向空 //int *bp = new int[10](10);//遵循C11标

2020-12-28 20:52:05 87

原创 C++模板函数

函数模板定义如下:template<模板参数表>返回类型 函数名(形式参数表){//函数体}<模板参数表>(template parameter list)尖括号中不能为空,参数可以有多个,用逗号分开。模板类型参数(template type parameter)代表一种类型,由关键字 class 或 typename(建议用 typename )后加一个标识符构成,在这里两个关键字的意义相同,它们表示后面的参数名代表一个潜在的内置或用户设计的类型。函数模板根据一组实际

2020-12-27 21:34:43 111

原创 C++函数重载

函数重载依据:形参类型,形参个数,形参顺序(函数返回类型不可作为函数重载依据)#include <iostream>using namespace std;int Max(int a, int b)//1{ return a > b ? a : b;}double Max(double a, double b)//2{ return a > b ? a : b;}char Max(char a, char b)//3{ return a > b

2020-12-27 20:53:58 84

原创 C++内联函数

inline 函数(内联函数)在 C++ 中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了 inline 修饰符,表示为内联函数。内联函数的处理方式是在函数的调用点直接代码展开。在计算机系统下,假如频繁的调用就会造成较大的时间开销。内联函数的引入减少了函数调用过程中开栈和清栈的开销。inline int Add(int a, int b){ return a + b;}int main(){ int a = 10; int b = 20; int c =

2020-12-27 20:15:33 161

原创 C++引用&

类型& 引用变量名称 = 变量名称;这就是引用变量的定义。&和类型结合称之为引用符号,不是取地址的符,是代表别名的意思。void Swap_int(int& ap, int& bp){ int tmp = ap; ap = bp; bp = tmp;}void Swap_int(int* ap, int* bp){ assert(ap != NULL && bp != NULL); int tmp = *ap; *ap

2020-12-27 19:55:50 146

原创 字符串复制和字符串合并。

字符串复制1:将src的内容复制到des中char *Mystrcpy1(char *des,char *src){ int i = 0; while(src[i] != '\0')//0 { des[i] = src[i]; i++; } des[i] = '\0'; return des;//返回目标字符串的地址}字符串复制2:void Mystrcpy2(char *des,char *src){ while(*src != '\0') { *des =

2020-10-16 15:37:32 491

原创 折半查找法,错误正确比较

主函数:int main(){ int arr[] = {1,2,3,4,5,6,7,8,9,10,11,12}; for(int i=-1;i<15;i++) { printf("%d\n",BinSearch(arr,sizeof(arr)/sizeof(arr[0]),i)); }}error:int BinSearch(int *arr,int len,int key) { int low = 0;//起始下标 int high = len-1;//结尾下标

2020-10-14 16:08:15 403

原创 关于swap函数(指针)知识点,代码正确错误分析。

主函数:int main(){ int a = 10; int b = 20; Swap(&a,&b); printf("%d,%d\n",a,b); return 0;}在这里插入代码片错误一:在这里插入代码片

2020-10-14 14:55:46 421 1

原创 给一个整数,(1):输出它是几位数 (2):分别输出每一位数字 (3):按逆序输出各位数字

#include<stdio.h>#include<math.h>//输出是几位数字int GetFigures(long long n){ if(n == 0) return 1; int count = 0; while(n != 0) { n /= 10;//丢弃个位 count++; } return count;}//正序输出每一个数字void PrintOrder(long long n){ /*//存在bug,比如10

2020-10-10 15:06:40 690

空空如也

空空如也

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

TA关注的人

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