C/C++
C++
拥抱@
时刻提醒自己:自信力 自控力 执行力 精准的语言表达能力 敏锐的逻辑思维
展开
-
c++版本的布隆过滤器
【代码】c++版本的布隆过滤器。原创 2024-04-16 16:17:10 · 456 阅读 · 0 评论 -
C++设计模式之“适配器模式”
设计模式之适配器模式原创 2023-01-09 10:27:31 · 358 阅读 · 1 评论 -
C++协程学习笔记 +libco源码剖析
c++协程源码剖析原创 2022-10-25 20:12:36 · 731 阅读 · 0 评论 -
时间戳转换年月日——记一次字节面试题(C++实现)
突然想起视频面试字节的一道笔试题,当时种种原因没有编译跑起来,特重新实现一下。(时间戳)北京时间1970年01月01日08时00分00秒)起至现在的总秒数。不过实现上确实也有不少细节要注意,见仁见智。对应的 /年/月/日。原创 2022-09-13 20:13:08 · 641 阅读 · 0 评论 -
AI源码泄露 -- C++实现版本(手动狗头)
Ai源码示例原创 2022-08-19 16:18:44 · 1688 阅读 · 0 评论 -
简单工厂模式的浅浅实现
简单工厂模式的实现 -- 清晰版原创 2022-08-08 11:41:29 · 247 阅读 · 0 评论 -
三目运算的宏定义
三目运算的宏定义原创 2022-08-01 16:47:37 · 1019 阅读 · 1 评论 -
你不知道的预编译器——有一种根据需要自动在字符串和数值之间进行转换的能力
预编译器——字符串和数值之间自动转换的能力原创 2022-08-01 16:25:34 · 232 阅读 · 0 评论 -
C++代码中--按照C语言格式--编译指定模块代码
C++代码中--按照C语言格式--编译指定模块代码原创 2022-07-11 14:40:08 · 361 阅读 · 0 评论 -
结构体嵌套大小和指定对齐数时的大小计算
一般结构体大小计算原则一,结构体变量的首地址,必须是结构体 “最宽基本类型成员” 大小的整数倍。二,结构体每个成员相对于结构体首地址的偏移量,都是该成员的整数倍。三,结构体的总大小,为结构体 “最宽基本类型成员” (将嵌套结构体里的基本类型也算上,得出的最宽基本类型) 大小的整数倍。1、简单结构体struct s1{char ch1;char ch2;int i;};这个结构体的大小容易计算,满足后两个原则即可,为8。struct s2{char ch1;int i;char原创 2021-10-17 12:25:09 · 1301 阅读 · 0 评论 -
DFS个人训练-leetcode-200-岛屿数量 (持续更)
1.岛屿数量给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。思路:遍历岛这个二维数组,如果当前数为1,则进入感染函数并将岛个数+1感染函数:其实就是一个递归标注的过程,它会将所有相连的1都标注成2。为什么要标注?这样就避免了遍历过程中的重复计数的情况,一个岛所有的1都变成了2后,遍历的时候就不会重复遍历了。建议没想明白的同学画个图看看代码原创 2021-07-06 17:52:15 · 169 阅读 · 0 评论 -
C++:友好的任意进制转换代码实现
通过用户菜单选择需要转换的数字和任意进制直接上代码了#include<algorithm>#include<cmath>#include<string>#include<iostream>using namespace std;#include<stack>int _sys=0; //进制string _input(" ");//转换数字//10进制转任意进制void func2(){//eg: 10 2 先原创 2021-06-21 15:44:30 · 248 阅读 · 0 评论 -
西交专业课915习题总结
2021真题:1.马鞍点一道典型的循环暴力解决题,即:在矩阵中,一个数在所在行中是最大值,在所在列中是最小值,则被称为鞍点。第一行输入行n、列m,0<n<100,0<m<100,随后输入矩阵数据。存在则输出行列,不存在则输出“No Exist”。//1、马鞍点//今年的第一题是C语言里大家都见过、做过,甚至老师讲过的题目,是一道典型的循环暴力解决题,//即:在矩阵中,一个数在所在行中是最大值,在所在列中是最小值,则被称为鞍点。第一行输入行n、列m,0<n<100原创 2021-06-21 15:41:35 · 1532 阅读 · 0 评论 -
Process进程相关接口调用
.h#include "winsock2.h"#include <windows.h>#include <tchar.h>#include <algorithm>//#endif#ifdef Q_OS_WIN#include <atlbase.h>#include <shlobj.h>#include <din...原创 2020-01-20 11:45:09 · 570 阅读 · 0 评论 -
C/C++内存管理方式 干货好文助你深度理解
写在前面:本文旨在向大家完整综合的进行C语言和C++的内存管理方式,涉及到的内容也会比较全面。在自己梳理回顾的过程中也想与大家一起分享。如有 不足之处,欢迎大家指正。c/c++内存分布C语言中动态内存管理方式:malloc/calloc/realloc和freec++内存管理方式:new和deletemalloc/free和new/delete的区别ps:本文主要探究“内存管理方式”...原创 2019-01-03 15:14:19 · 7588 阅读 · 0 评论 -
C语言学习——union(联合体、共用体)及应用
C语言union(联合体、共用体)及应用在结构体(变量)中,结构的各成员顺序排列存储,每个成员都有自己独立的存储位置。联合(union)变量的所有成员共享同片存储区/内存。因此联合变量每个时刻里只能保存它的某一个成员的值。联合变量也可以在定义时直接初始化,但这个初始化只能对第一个成员进行。例如下面的描述定义了一个联合变量,并进行了初始化。1 uunion data2 {3 cha...原创 2019-06-26 17:10:19 · 1586 阅读 · 0 评论 -
浅谈——void (*signal(int, void (*)(int)))(int) 函数声明
先说结论:这是一个返回类型是函数指针的函数声明,该函数的参数是一个int类型和一个函数指针。现在我们先抛开上面那个复杂的定义,先看一下下面的需求定义一个函数;该函数具有以下特点,两个参数,返回值是函数指针,并且一个参数也是函数指针。假如返回值和参数函数指针同为void (*)(int); 另一个函数参数是int型。该函数定义名称为my_func。根据需求我们可以很容易定义出这种函数:...原创 2019-06-25 21:20:39 · 3249 阅读 · 2 评论 -
浅谈"优先级"与"结合性"的误区
写在前面:开门见山,相信大家都见到过这到例题(简略代码)int a,b,c;a=b=c=1;int x =(++a || ++b && ++c); 计算后 a=2 b=1 c=1;拿到这道题立马查看了优先级顺序,发现++ > &&> ||;所以自然而然的就会想:++的优先级不是最高的吗?那么不是应该a,b,c先各自增1,然后&&...原创 2019-06-08 15:13:50 · 850 阅读 · 0 评论 -
函数指针及其定义和用法,C语言函数指针详解
函数指针大家了解一下就行了,用得不多,但一定要认识它。什么是函数指针?如果在程序中定义了一个函数,那么在编译时系统就会为这个函数代码分配一段存储空间,这段存储空间的首地址称为这个函数的地址。而且函数名表示的就是这个地址。既然是地址我们就可以定义一个指针变量来存放,这个指针变量就叫作函数指针变量,简称函数指针。那么这个指针变量怎么定义呢?虽然同样是指向一个地址,但指向函数的指针变量同我们之前讲...原创 2019-03-12 11:02:34 · 680 阅读 · 0 评论 -
C语言:关于scanf()和pintf()控制格式化输入输出的问题
scanf()①格式字符与printf函数中的使用方式相同,以%d、%o、%x、%c、%s、%f、%e,无%u格式、%g格式。②可以指定输入数据所占列宽,系统自动按它截取所需数据。如:scanf(“%3d%3d”,&amp;a,&amp;b);输入:123456系统自动将123赋给a,456赋给b。③%后的“*”附加说明符,用来表示跳过它相应的数据。例如:scanf(“%2d%*3d...原创 2019-03-11 21:55:05 · 1226 阅读 · 0 评论 -
32位和64位编译器下的常见类型大小
写在前面我们常常听别人说到32位操作系统,64位操作系统,实质上这里所说的32和64指的是地址长度。如果说你是32位的操作系统,那么寻址空间就有2^32,即4G空间大小;如果说你是64位的操作系统,那么寻址空间就有2^64,即4G*4G空间大小;我们平常在Vs里边编写程序,类型的大小完全取决于编译器的环境。一、程序运行平台不同的平台上对不同数据类型分配的字节数是不同的。个人对平台的理...原创 2019-03-11 19:49:13 · 4191 阅读 · 0 评论 -
带你区分---return()和exit()和_exit()
写在前面:有段时间浏览别人的程序的时候,发现有的地方会用return()退出,有的地方却用exit()/exit()退出,心里对两者的区分也是模棱两可。所以今天就将这两个家伙拎出来看一看(~ ̄▽ ̄)~(~ ̄▽ ̄)~return()return 表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。return...原创 2019-01-18 19:48:22 · 2874 阅读 · 1 评论 -
C/C++中的 void 和 void*
写在前面:开门见山,大家看下面这个例子: unsigned char err; unsigned char f; unsigned char a(unsigned char i, void *j){ if(j==(void*)0) return 0; *(unsigned char*)j=1; return 1;}void * 就是无类型指针类型,j仅仅...原创 2019-01-16 23:43:50 · 4732 阅读 · 1 评论 -
汇总:C语言文件操作接口实例解析
写在前面计算机文件是以计算机硬盘为载体存储在计算机上的信息集合,是存储在某种长期储存设备上的一段数据流。在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。通过文件指针就可对它所指的文件进行各种操作,C语言规定该文件指针类型为FILE型。FILE文件指针结构体定义:typedef struct{ short level; // 缓冲区“满”或“空”的程...原创 2019-01-16 20:43:40 · 3054 阅读 · 0 评论 -
C语言:带你区分strcpy和memcpy
strcpystrcpy是一种C语言的标准库函数,strcpy把含有’\0’结束符的字符串复制到另一个地址空间,返回值的类型为char*.strcpy的实现代码char * strcpy(char * strDest,const char * strSrc) {if ((NULL==strDest) || (NULL==strSrc)) //[1]throw "Invalid ...原创 2019-01-13 00:24:38 · 293 阅读 · 0 评论 -
C/C++二维数组的相关总结(扩展:三维数组)
写在前面:今天为什么要把“二维数组”这个概念重新拎出来说一说呢。原因是这样的:前几天在用c++写银行家算法的时候,resource类的成员变量有二维数组,开始写的是默认初始化的方式,类似于这种:class A{ ... privated: arr[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};}结果报错。所以就想重新写个成员函数用来初始化二维...原创 2019-01-06 15:42:26 · 2865 阅读 · 0 评论 -
C语言总结:思维导图(以便复习回顾)
C语言整个学习阶段的知识点总结:原创 2019-01-03 00:50:46 · 10035 阅读 · 3 评论 -
C语言 fflush和stdin stdout stderr之间的联系
写在前面:阅读这篇文章前,读者应该大致了解C语言“缓冲区”的概念,在前面的文章中有详细介绍。**Stdin:** 是标准输入,一般指键盘输入到缓冲区里的东西。**Stdout:** C语言中的 stdout 是一个定义在<stdio.h>的宏(macro),它展开到一个 FILE* (“指向 FILE 的指针”)类型的表达式(不一定是常量),这个表达式指向一个与标准输出流(sta...原创 2019-01-01 16:57:36 · 1911 阅读 · 1 评论 -
C语言中的输入输出流和缓冲区(重点)详解
导读:C语言中我们用到的最频繁的输入输出方式就是scanf()与printf()。scanf(): 从标准输入设备(键盘)读取数据,并将值存放在变量中。printf(): 将指定的文字/字符串输出到标准输出设备(屏幕)。注意宽度输出和精度输出控制。 C语言借助了相应的缓冲区来进行输入与输出。如上的简图 ̄□ ̄|| OK,我们接下来进入正题:1. 流是什么?“流...原创 2019-01-01 13:21:56 · 40783 阅读 · 24 评论 -
详解C语言中的 %*s 和 %.*s
%*s:取决于在scanf中使用还是在printf中使用。1.在scanf中使用,则添加了*的部分会被忽略,不会被参数获取。例如:int a,b;char b[10];scanf("%d%*s",&a,b);//输入为:12 abc那么12将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量(例如这里的字符数组b)2.在printf中使用,表示用后面的形参替...原创 2018-12-31 15:26:05 · 56908 阅读 · 7 评论 -
C语言实现进度条小程序 全知识点!
知识点:“%-100s” : '100’表示输出的数据占位100不足的空格弥补; '-'表示数据左对齐;“%”的打印注意需要转义;fflush(stdout):对标准输出流的清理,但是它并不是把数据丢掉,而是及时地打印数据到屏幕上。标准输出是以每行为单位进行的,也即碰到’\n’才打印数据到屏幕。//一个简单的进度条小程序 10 #include<stdio.h> 11...原创 2018-12-31 15:09:11 · 1030 阅读 · 0 评论 -
C语言实现猜数字游戏 全干货!
知识点:随机数的生成: srand((unsigned)time(NULL)):srand函数是随机数发生器的初始化函数。原型:void srand(unsigned seed);用法:它初始化随机种子,会提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的rand()函数会出现一样的随机数,如: srand(1); 直接使用1来初始化种子。不过为了防止随机数每次重复,常常...原创 2018-12-31 14:31:11 · 8207 阅读 · 0 评论 -
打印菱形图案的做法(多种)
话不多说,直接上代码//简单版本#define _CRT_SECURE_NO_WARNINGS 1#include&amp;amp;lt;stdio.h&amp;amp;gt;#include&amp;amp;lt;math.h&amp;amp;gt;#include&amp;amp;lt;stdlib.h&amp;amp;gt;int main(){ in原创 2018-12-31 10:53:37 · 1517 阅读 · 0 评论 -
一个简单的密码登陆界面。C语言
老样子,直接上代码:#include<stdio.h>#include<string.h>int main(){ int land(); if (land() == 0) { printf("登录成功!!A麟真帅!!!\n"); } else if (land() == -1) { ...原创 2017-12-05 16:24:02 · 35015 阅读 · 20 评论 -
如何向系统申请4G的内存空间?
在探讨这个问题之前,我们需要认识到机器的内存分布。因为Windows下的机器内存分布模型我们不清楚。所以我们在这里讨论的是Linux下的4G内存空间的申请。假如我们现在的Linux一共有4G的内存空间。那么它有1G是供操作系统内核使用的。也就是说我们程序最多只能申请到3G的空间,事实上,我们最大申请到的空间也就2G左右。如果是32位的程序,在vs下你可以试一试,是不能申请到4G空间的;#i...原创 2018-12-31 12:23:51 · 1104 阅读 · 0 评论 -
VS 调试快捷键汇总
最近用VS2008做开发,这个环境不熟悉,快捷方式不知道,开发比较怕麻烦,找了一些资料过来。F12 跟到定义(gotodefine) CTRL + -返回上一次的位置CTRL + SHIFT + -定位到前一个位置 调试.全部中断 CTRL + BREAK 临时停止执行调试会话中的所有进程。仅适用于“运行”模式。调试.断点 CTRL + B 显示“断点”对话框,在...原创 2019-12-20 17:19:20 · 2433 阅读 · 0 评论 -
File_Encryption/文件加密
源码不在此赘述,代码参见 Github地址。原创 2019-12-20 17:34:15 · 683 阅读 · 0 评论 -
MiNi的“湘北高中”学生信息管理系统 (C++实现)
自己随便写的一个湘北高中学生信息管理系统,核心是利用fstream的文件读写操作。先看一下运行结果:数据的基本操作:增删查改功能都已经实现。 其实这个项目拓展性还是蛮高的,可以基于此再做一些UI方面的优化,包括一些拓展功能的实现和完善。下面给出源码:Stuinfo.h#ifndef STUINFO_H#define STUINFO_H#include <fstream&...原创 2019-12-17 17:04:40 · 550 阅读 · 0 评论 -
Windows下获取当前时间函数汇总
(1)使用C标准库(精确到秒级):#include <time.h>#include <stdio.h>int main( void ){time_t t = time(0);char tmp[64];strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z",localtime(&t) );puts...转载 2019-12-13 11:45:01 · 1437 阅读 · 0 评论 -
Text-detector 一个用来检测文本内容行数和字数的Mini工具
分享一个昨天抽闲自己瞎搞的一个Text-detector: 一个用来检测文本内容行数和字数的Mini工具代码挺简单的,先看一下运行结果吧:用户输入指定路径的.txt文件,开始进行检索。检索的过程我用了一个进度条小程序,为了使画面变得美观一些。下面附上完整代码:#include <iostream>#include <fstream>#include<st...原创 2019-12-10 09:43:22 · 3984 阅读 · 1 评论