自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 生产者与消费者模型的实现

生产者与消费者模型的实现 当我们学习完了信号量和共享内存之后,我们就可以实现进程间的同步和互斥了。然后其中最经典的例子就是生产消费者模型了。 现在就和大家一起分析下生产消费者模型 以下代码是一个多个生产者和多个消费者对N个缓冲区进行访问的例子。首先先看看我们的伪代码 //生产者: while (1) { p(semid, 1); sleep(3); p(semid, 0); //producer is producing a product goods = rand() % 10;//produc

2021-04-13 21:26:14 6

原创 2.1.1 从排序数组中删除重复项

给定一个排序的数组,在适当的位置删除重复项,使每个元素只出现一次 并返回新长度。 不要为另一个数组分配额外的空间,您必须使用固定内存就地执行此操作。 例如,给定输入数组A=[1,1,2], 函数应该返回length=2,现在A是[1,2]。 全代码如下: #include<iostream> #include<string> #include<vector> using namespace std; constexpr auto SIZE = 100; void del

2021-04-04 16:50:38 7

原创 C++中static关键字属性

C++ static关键字 不考虑类 1.隐藏 当我们编译多个文件的时候,所有未加static前缀的全局变量和函数都具有全局可见性。在其他文件中可以使用extern关键字在其它文件中使用到。 例如: 我在1.cpp/1.c中定义了一个int i变量。我们可以在main.c/main.cpp中使用extern找到我们在1.cpp中定义的i变量。 2.默认初始化为0 其中未初始化的全局静态变量和未初始化的全局静态变量都具有这个属性(他们都在内存区域的BSS段) 比如我们可以初始化一个稀疏矩阵,就不需要使用循环遍

2021-03-22 18:40:17 1

原创 tcp_socket

tcp_socket /* * config.h 包含该tcp/ip套接字编程所需要的基本头文件,与server.c client.c位于同一目录下 */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <sys/types.h> #include <unistd.h> #include <e

2021-03-19 23:34:58 10

原创 udp_socket编程

udp_socket编程 server.c #include <stdio.h> #include <stdlib.h> #include <sys/socket.h> #include <string.h> #include <sys/types.h> #include <netinet/ip.h> const int SERV_PORT = 6000; const int MAXLINE = 2048; void dg_echo

2021-03-19 22:38:38 5

原创 使用类模板构建自己的数组(2020-11-14)

类模板案例 案例描述: 实现一个通用的数组类,要求如下: 可以对内置数据类型以及自定义数据类型的数据进行存储 将数组中的数据存储到堆区 构造函数中可以传入数组的容量 提供对应的拷贝构造函数以及operator=防止浅拷贝问题 提供尾插法和尾删法对数组中的数据进行增加和删除 可以通过下标的方式访问数组中的元素 可以获取数组中当前元素个数和数组的容量 后续会新增功能。。。 `#pragma once #include #include using namespace std; template class

2020-11-14 13:26:15 41

原创 C++核心编程

C++核心编程 本阶段主要针对C++面向对象编程技术做详细讲解,探讨C++中的核心和精髓。 1 内存分区模型 C++程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收 内存四区意义: 不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程 1.1 程序运行前 ​ 在程序编译后,生成了ex

2020-11-09 21:50:56 346

原创 C++基础入门

C++基础入门 1 C++初识 1.1 第一个C++程序 编写一个C++程序总共分为4个步骤 创建项目 创建文件 编写代码 运行程序 1.1.1 创建项目 ​ Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WYXCyMNh-1604929713357)(assets/1541383178746.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iaeRx

2020-11-09 21:49:23 89

原创 c++面经

c++面经 1. 语言基础 (C/C++) (0) 指针和引用的区别 指针是一个新的变量,指向另一个变量的地址,我们可以通过访问这个地址来修改另一个变量;而引用是一个别名,对引用的操作就是对变量的本身进行操作 指针可以有多级,引用只有一级 传参的时候,使用指针的话需要解引用才能对参数进行修改,而使用引用可以直接对参数进行修改 指针的大小一般是4个字节,引用的大小取决于被引用对象的大小 指针可以为空,引用不可以。 (1)在函数参数传递的时候,什么时候使用指针,什么时候使用引用? 需要返回函数内局部变量的

2020-11-05 22:21:11 446 2

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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