- 博客(10)
- 收藏
- 关注
原创 c++ 常见的一些问题总结
1.深string)深浅拷贝:浅拷贝:在拷贝构造过程中由于对自定义类型中如果存在需要在堆上开空间(new)的情况,那么在拷贝构造的时候新的对象也会指向同一个堆上的空间地址。那么在调用析构函数的时候此时就会造成对堆上new出来的对象释放两次,且指向这个空间任意一个对象进行对此空间修改的时候都会造成另一个对象的内容也随之发生改变。这个就是浅拷贝带来的问题。--解决的方法就是深拷贝深拷贝:为了解决浅拷贝的问题,这里我们要对针对浅拷贝new的一个空间进行处理-我们只需要当拷贝构造的时候对新的对象也开辟一
2021-12-10 20:15:07
664
原创 C++类和对象2
有些时候我们刚开始接触c++的时候会发现一些这样的用法例如:class a{};这显然是一个空类,那么这样的一个空类有什么用,或者说这样的一个空类只是我们所看到的那样内容为空吗? 答案是否定的。那么这样的一个空类它包含了什么样的隐藏秘密呢?答案是一个简单的空类它其实包含了6个默认的成员函数:分别为构造函数,析构函数,拷贝构造,赋值重载,普通对象取地址,和const修饰对象取地址。接下来我们分别进行说明这几类函数的作用和使用。一.构造函数1.构造函数的定义:构造函数是一个特殊
2021-11-09 21:11:42
828
原创 C++类和对象1
c++类的由来(或者说为什么要增加类):我们知道c语言是面向过程的语言,c++是即面向过程又是面向过程的语言。那么这两个有着什么样的区别和联系呢?C语言和C++的一大区别接下来我们利用c语言的struct来说明:C语言中,结构体中只能定义变量。在C++中,结构体内不仅可以定义变量,也可以定义函数。例如:如果我们用C语言实现一下的功能,那么我们会发现,在struct内我们只能去定义一些变量 的类型,而我们需要的函数反而要去单独去实现typedef struct Student {
2021-11-08 18:27:00
597
原创 数组中查找两个不同的数字
代码要求:一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。思路:1.两个相同的数字异或为0。2.将两个不同的数字分到不同的组分别进行异或。3.怎样将这两个不同的数字分开:当我们尝试去异或不同的数字的时候例如:3 对应的二进制 011 而4对应的二进制100,异或得 111 再比如 4 和5(101) 得到为001;这样我们就可以发现规律:当不同的数字进行异或操作的时候那么异或的值至少含有一个1 那么这个1 一定是由对应位置的1和0的得到的。4.那么此时我们算是找到不同点
2021-09-28 15:52:35
1422
原创 C语言-杨氏矩阵
杨氏矩阵的定义:当一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增,这样的矩阵我们称为杨氏矩阵。这样的定义不明显我们上图来看。 像以上的两个二维数组属于杨氏矩阵。如果我们要从这种数组中查找一个数组,当然我们可以使用for循环来遍历所有元素查找,但这样的话时间复杂度则为O(n^n),当n特别大的时候那么O就会变得超级大,所以这样的算法不是最佳的。此次我们来说一种复杂度最大为O(2n)(对于n*n的矩阵来说)的算法。我们用这个矩阵来说明:假设矩阵我们定义为a[...
2021-09-03 10:03:13
443
原创 剖析数据在内存中的存储
目录知识点一、整形在内存中的存储二、大小端介绍什么是大小端三.浮点型在内存中的存储知识点1.整形在内存中的存储2.大小端字节序介绍和判断3.浮点型在内存中的存储一、整形在内存中的存储 我们知道创建变量的时候是要在内存中开辟空间,而开辟空间的大小取决于变量定义的类型而定。比如int类型占4个字节,char类型占1个字节,short占2个字节等等。 此次我们要介绍这些变量在相应开辟空间中是怎么存储的。在讲解之前我们要了解三个概念:原码、反码、补码...
2021-08-31 20:52:21
144
原创 C语言实现扫雷
游戏的基本设计流程如下:菜单实现:void menu() { printf("##############\n"); printf("1.enter 0.exit\n"); printf("##############\n");}这里输入之后要判断是否进入游戏,所以这里我们使用switch函数实现:switch函数实现:do { menu(); printf("请输入自己的选择\n"); scanf("%d", &input); switc.
2021-07-30 16:18:32
134
原创 C语言实现三子棋
很多人从小都玩过三子棋,相信很多人都对这个游戏的实现有所疑问。那么今天我们就用C语言自己来实现一下。首先 如流程图所示:说明一下:首先我们以输入1/0,来判断是否进入游戏。当输入为1时,进入游戏;当输入为0时,退出游戏;当输入为其他值时,我们提示重新输入。所以我们这里用switch实现。 我们回想棋盘,很像一个二维数组,所以我们接下里的数棋盘设计以及向棋盘里赋值都将使用二维数组。为了使得我们的扩展性变强,我们这里使用了宏,来定义行和列的值。...
2021-07-29 17:34:27
142
原创 sumo+ns3 2
上一次我们利用sumo生成了tcl文件我们这次主要讲解怎么来用ns3来成功读取此tcl文件。首先我们将生成的tcl文件放入到ns3的scratch文件目录下,
2021-07-01 13:24:47
1392
10
原创 sumo+ns3
随着物联网不断发展,特别是近些年的车联网一直是个火热的话题。近些年来国内的企业,高校也不断地将目光投向了车辆网,比如大唐电信提出的C-V2X,(相较于美国早些年提出的DSRC。大唐电信的C-V2X展示出了更多的优势),高校也越来越多的与相关企业合作开展车联网的方向。车辆网的不断发展就相应的会产生许多仿真软件,这里主要提出的是sumo+ns3联合仿真。我们通过sumo产生tcl文件,然后导入到ns3中相应给其sumo产生的车辆节点配置各种协议,以及在道路上配置基站等。这里我们只要阐述一下怎么讲sumo
2021-05-29 13:57:22
2762
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人