- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 go语言中的阻塞函数和非阻塞函数实现
其中,func1就是非阻塞函数,对于main函数而言,在调用func1后,不需要去关心func1中的for循环有没有运行结束,它能立马拿到结果,从而可以去做自己想做的其它事情,当然,这里main的函数,即主线程需要保证当前线程不会挂掉。其中,func1就是阻塞函数,因为main函数在调用func1时,它需要去等待func1函数for循环结束从而拿到返回值,在func1函数返回之前,main函数不能去做其它的事情,func1函数就是被挂起了。非阻塞函数指在不能立刻得到结果之前,该函数不会阻塞当前线程。
2022-12-20 16:56:52
620
原创 使用protoc生成gRPC代码时候出现缺少mustEmbedUnimplementedProductInfoServer method
这个代码的意思是在当前目录为proto文件生成gRPC代码,并且关闭了相应的选项。这是因为新的版本导致的这个问题,可以通过选项来关闭。
2022-08-05 23:08:41
1093
原创 如何给char*赋值?
c语言是个很麻烦的东西,直接使用char* tmp = "hello";是错误的,因为"hello"是个常量字符串。可以使用以下方法进行赋值:#include<iostream>using namespace std;int main() { char* tmp1; char tmp2[12] = "hello,word!"; //这里的12指的是11(字符数)+1(结束符) tmp1 = tmp2; cout << tmp1;}
2022-04-29 21:30:00
18838
原创 顶层const和底层const的含义和区别
首先,顶层const和底层const都是相当于指针而言的,比如说const int a,这个const既不是顶层也不是底层,因为a不是指针。其次,如何看const是修饰的什么呢。原则是谁在const的左边就修饰谁,如果const的左边没有任何东西,就修饰右边的第一个值,以下举例说明。const int const * p,第一个const的左边没有东西,所以修饰的是右边的int,第二const左边有int,所以修饰的也是int,这两个const都修饰的是int,所以这句话会报错。const int
2021-12-10 12:55:06
2658
1
原创 如何让Vmware中的CentOS虚拟机联网并通过ssh进行远程连接?
环境:虚拟机:vmware操作系统:CentOS7/CentOS8一、CentOS联网1、编辑->虚拟机网络编辑器2、勾选结果如图所示(这里有一个问题,有时候会遇到同时勾选将主机虚拟适配器连接到此网络与使用本地DHCP服务将IP地址分配给虚拟机不会生效,此问题可通过下载ccleaner解决,具体看https://blog.youkuaiyun.com/u012842814/article/details/80882242)3、右键虚拟机->设置->选择第2步中设置了Nat模式的网卡
2021-12-09 09:51:14
4737
1
原创 C++中实现合法性输入,只能输入数字,输入字母、字符、中文都会报错
在此程序中,实现了只能输入数字,输入字母、字符、中文都会给出报错信息,并提示重新输入。在本程序中主要的函数是CheckNum。#include <iostream>#include<string>using namespace std;//判断是否为数字,主要的函数void CheckNum(int& n){ int i; string x; //用来接受输入 bool flag = false; while (cin >
2021-12-04 22:16:08
5451
3
原创 关于我与同学讨论的几道题目
本文仅供参考。1.使用C ++语言进行求解N皇后问题。2.lc(m,n)也可以如下递归定义:如果m%n为0,则lc(m,n)为n。否则,lc(m,n)为lc(n,m%n)。请使用C ++语言求lc的值。3.创建一个“ text.txt”,其中包含了随机的分数,使用C ++语言从文件中读取分数,并输出它们的总和和平均值。4.在C ++中创建“ Graph.h”类,并实现城市拓扑图的创建、城市的数量,总路径、深度优先遍历、城市拓扑图的销毁、...
2021-04-17 23:11:04
207
原创 为什么二叉树中度为2的结点比叶子结点少1个?
如下图是一颗二叉树。设n为总结点数,n0为叶子结点数,n1为度为1的结点数,n2为度为2的结点数,设nums为边的数。图中,n=6,n0=3,n1=1,n2=2,b=5(边的数量)。n=n0+n1+n2。b=n-1即b=n0+n1+n2-1b=2*n2+n1则2*n2+n1=n0+n1+n2-1求得n2=n0-1...
2021-04-09 11:37:02
3530
原创 归并排序 C++实现(可自己输入数字进行排序)
#include#include //包含容器vector#includeusing namespace std;void merge(vector &a, int left, int mid,int right) {int i, j, k;vector m1, m2;for (i = left;i < mid;i++) {m1.push_back(a[i]);}for (i = mid;i <= right;++i) {m2.push_back(a[i])..
2021-03-28 16:05:56
382
原创 快速排序算法 c++实现
tip:递归不要陷进去了,一定要找其中的关系,否则很难理解递归。#include<iostream>#include <vector> //包含容器vector#include<algorithm>using namespace std;int getpos(vector<int> &a, int left, int right) { int temp = a[left]; //temp值为哨兵 while (left < r
2021-03-28 11:55:30
171
原创 Mysql中事务的四个隔离等级如何理解?如何解决脏读、不可重复读、幻读?
一、什么是事务?一个或一组sql语句组成一个执行单元,要么全部执行,要么全部不执行,这便是事务。(事务是由很多条语句组成的,在组成事务语句的最后的一条语句中可以使用commit来执行事务,也可以使用rollback回滚不执行事务)二、什么是脏读、不可重复读、幻读?(以下只是举例子,并不是定义)脏读(只查询一次):对于A,B两个Mysql终端来说,A在一个事务中更新了数据库C的数据但是未提交,当B查看数据库的数据时发现数据已经变了,但是当A选择rollback时,其实数据库C的数据并没有变。不可重复读
2021-03-21 23:24:06
1122
1
原创 在C++中的引用是什么意思(C++中&是什么意思)?
&在c语言中可以是取地址的意思。但在C++中,它有另外一种用法,即引用,这是在C++中特有的,对引用最通俗简单的理解就是取别名!我们做个简单尝试,看以下代码。**#include<iostream>using namespace std;int main{** **int a=3;** **int &b=a;** **cout<<b;** //输出 3; **b=1;** //这条语句其实就相当于语句a=1; **cout<&l
2021-03-18 21:23:26
3405
1
原创 KMP算法之C++代码的实现(详解版!)
此贴意在写给那些看懂KMP算法却依然不会写代码的孩子,如果你没看懂KMP算法还是算了吧。经过本人的测试,以下代码是可用的!#include<iostream>#include <vector>using namespace std;vector<int> Getnext(char* s) //s为更短的字符串{ int n = strlen(s); //strlen是一个求s字符串的长度函数(这里的长度并没有包括char类型中多出来的那个空格) ve
2021-03-18 21:20:40
1342
1
原创 理解:C++重载运算符等于(=)时为什么返回的是一个引用(&)(&引用是什么意思)?
首先,我们要理解,引用(&)是什么意思?&在c语言中可以是取地址的意思。但在C++中,它有另外一种用法,即引用,这是在C++中特有的,对引用最通俗简单的理解就是取别名!我们做个简单尝试,看以下代码。**#include<iostream>using namespace std;int main{** **int a=3;** **int &b=a;** **cout<<b;** //输出 3; **b=1;** //这条语句其
2021-03-14 16:07:18
1334
原创 如何理解数据结构中树的度(树的度是什么意思)?
在数据结构中,树是一对多的存在,如下图是一颗树。结点拥有的子树称为子树的度,比如结点①的度为4,结点②的度为0,结点③的度为3。对于树而言,树的度为树内各结点最大的度,从图中可知,这棵树的度为4。...
2021-03-07 20:19:28
96798
5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人