c++
旧街旧巷旧情怀
这个作者很懒,什么都没留下…
展开
-
数据类型转换二义性测试
数据类型转换二义性测试当数据作为函数参数传递时,char 和 short 优先转换成int,float 优先转换成double。进行数据类型转换时,当一个类中同时有多个类型转换函数时,规则和第一点一样,,但是如果是其他的就会因为数据类型转换级别相同而导致二义性。一个类同时有多个用算数类型来构造一个类时,规则同一![在这里插入图片描述](https://img-blog.csdnimg.cn/20210506093030267.png?x-oss-process=image/watermark,typ原创 2021-05-06 09:41:14 · 183 阅读 · 0 评论 -
拷贝构造调用时机
拷贝构造调用时机1.当使用隐式构造函数时,先创建一个没有名字的临时对象,然后再调用拷贝构造函数,将临时的对象赋值给要创建的对象,因为这里删除了拷贝构造,所以报错了。2.在拷贝赋值的时候也会调用拷贝构造函数。...原创 2021-04-19 14:52:02 · 54 阅读 · 0 评论 -
超级简单搞清楚名称空间的变量使用问题
超级简单搞清楚名称空间的变量使用问题首先搞清楚变量三种访问方式:直接变量名访问用解析运算符**(:: + 变量名)**访问用名称空间限定变量名访问使用名称空间的变量有两种方法:使用using 编译指令 using namespace + 名称空间使用using 声明 using 名称空间::变量名使用这两种方法的时候,using 编译指令 类似于 定义了一个全局变量,using 声明 类似于 定义了一个局部变量,即用来解释以下情况:当自己定义了一个全原创 2021-04-19 12:55:18 · 239 阅读 · 0 评论 -
namespace的命名空间变量使用
用namespace命名空间可以避免很多厂商自己造的轮子与其他厂商的产生命名冲突,所以,可以将自己写的一些函数包装在namespace中,既可以放心的使用自家造的轮子,也避免命名冲突 。项目场景:使用namespace的命名空间变量解决名称冲突问题问题描述:fill中的val 和 全局变量val产生二义性#include<iostream>using namespace std;#include<string>namespace fill{ int val = 2原创 2021-04-17 23:36:06 · 678 阅读 · 0 评论 -
数据结构 ———Kmp算法
Kmp算法推荐视频 : https://www.bilibili.com/video/BV1Px411z7Yo?t=669 学习过程中,是参考这个Kmp讲解视频来学习的。1.先理解Kmp算法的比较过程推荐视频 : https://v.qq.com/x/page/t0386qcr36t.html这里有Kmp的具体比较过程。2.自己对Kmp算法的一个文字理解为什么要弄一个回溯的a数组:因为 1.先创建一个a数组,储存待比较的字符串的最长相等前后缀。1.1示例图 :字符串 A B原创 2021-04-10 15:18:53 · 71 阅读 · 0 评论 -
c++小知识点记录
传递引用作为函数参数时,实参不能是表达式。传递引用时,并且参数为const时。当参数类型不匹配,但是可以转换的,会创建一个临时变量,当实参不是一个左值(例如表达式),会创建一个临时变量,临时变量的生存期为函数调用时期。左值是可寻址的变量,有持久性;右值一般是不可寻址的常量,或在表达式求值过程中创建的无名临时对象,短暂性的。左值和右值主要的区别之一是左值可以被修改,而右值不能。...原创 2021-04-08 12:53:25 · 46 阅读 · 0 评论 -
c++ 指向函数数组指针的指针
c++ 指向函数数组指针的指针难度逐渐上升:测试代码:输出结果图 :总结 :难度逐渐上升:1.函数 double* fun ( int a ); (返回double类型的指针变量2.函数指针 double* (*p) ( int );3.函数指针数组 double* (*p [3] ) ( int );4.指向函数指针数组的指针 double* (*( *p [ 3 ] ) ) ( int );测试代码:#include <iostream>#inclu原创 2021-04-07 22:29:06 · 229 阅读 · 0 评论 -
c++简易的预约系统。
c++的预约系统思路管理员功能介绍管理员功能实现学生功能介绍学生功能实现教师功能介绍教师功能实现文件夹链接(用的vs跟着黑马的c++教程敲完最后一个例子的思路思路创建的学生,管理员,老师,都有密码和账户,所以可以创建一个有密码和账户的基类选择输入要登陆的对象—管理员,学生,老师分别与储存对应账户的文件夹信息比对,判断是否登陆成功分流到管理员菜单,学生菜单,老师菜单,分别实现各自的功能管理员功能介绍 1. 添加账户 2. 查看账户 3. 查看机房信息 4. 清空预约信息管理员功原创 2021-04-06 17:15:36 · 399 阅读 · 0 评论 -
c++文件基本操作
文件基本操作打开文件FILE * fopen(char * fileurl,char * mode);1.声明一个文件指针 : FILE *fp2.fopen打开文件 : fp = fopen(“文件位置”,“读写方式”); (如果fp==null,说明打开文件失败)绝对路径相对路径读写文件关闭文件...原创 2021-03-19 11:21:20 · 159 阅读 · 0 评论 -
数组空间不够怎么办
数组空间不够怎么办每次定义数组的时候都要确定他的大小,万一空间不够,那么解决有什么办法呢?重新建立一个大数组,然后把原来的数据一个一个移动到创建的新数组中———这样做未免太麻烦了,为了增加一个新的数字,要做的操作的时间复杂度竟然是O(n)一开始就不将数组建立在栈,int * a=(int * )malloc(3 * sizeof(* a));然后如果数据不够了就可以直接调用realloc()函数int * temp=(int * )malloc(4*sizeof(*a))//还可以做一个判原创 2021-03-19 08:26:20 · 1317 阅读 · 0 评论 -
c++的默认继承方式
@c++的默认继承方式是private继承一级目录二级目录三级目录c++的默认继承方式是private继承 #-----------c++的默认继承方式是private继承class Person{public: Person() { a = 100; cout << "这里是Person的构造函数" << endl; } ~Person() { cout << "这里是Person的析构函数" << endl原创 2021-03-16 13:33:36 · 2524 阅读 · 0 评论