C++
主要记录C++的基础应用,以及工作中所遇见的异常错误的解决办法
Asher@福
这个作者很懒,什么都没留下…
展开
-
C++引用介绍
C++引用介绍1、什么是引用?2、引用的特性3、引用是否占内存?4、引用的本质5、引用的应用1、什么是引用? 某一个变量或者对象的别名,对引用的操作与对其绑定的变量或者对象的操作完全等价。2、引用的特性使用&符号,声明引用型变量。例如:int &b = a;引用的类型必须和其绑定的变量或者对象的类型相同。声明引用的同时必须对其进行初始化。引用是变量或对象的别名,因...原创 2020-03-28 11:08:31 · 222 阅读 · 0 评论 -
C++ 常量指针和指针常量的区别
指针常量(常指针) 首先是一个常量,其次该常量是个指针。因为是一个指针类型的常量,所以定义时必须初始化一个变量的地址,且始终指向该地址不能被更改即只能赋值一次,但地址中存放的内容可以被更改。通过以下例子了解指针常量的特性:int a,b;int* const p = &a; //指针常量初始化*p = 10; //操作成功,指针常量所指地址的内容可以被更改p = &b...原创 2020-03-26 15:10:02 · 379 阅读 · 1 评论 -
C++ 二进制读写文件的方法
开发过程,遇见将文件以二进制的方式读取到缓存中的场景,于是在这里记录一下,方便以后复用。读文件void readFile(string& filePath, std::vector<unsigned char>& data ){ ifstream file(filePath.c_str(), std::ios::in | std::ios::binary)...原创 2020-03-25 16:01:12 · 3540 阅读 · 2 评论 -
C++ strcpy函数实现
已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串。不调用C++/C 的字符串库函数,请编写函数 strcpy.其中返回值为拷贝后的结果。char* strcpy(char* strDest, const char* strSrc){ if(strDest =...原创 2020-02-18 16:46:11 · 1680 阅读 · 1 评论 -
C++ 中重载、重写、覆盖和隐藏之间的区别
(1)重载:函数名相同,函数的参数类型和个数不同,注意与函数的返回值类型无关,重载必须在同一个类中。(2)重写与覆盖意义相同:在继承和派生的时候才可能出现,重写(覆盖)是指在派生类中存在重新定义的函数,其函数名、参数类型和数量必须与基类中的函数保持一致,只有函数体不同(即实现方式不同)。重写的函数必须要有virtual关键字修饰,否则不能称之为重写或者覆盖。(3)隐藏:隐藏也是只有在继承或...原创 2020-02-18 15:16:13 · 499 阅读 · 1 评论 -
“HEAP CORRUPTION DETECTED” 错误原因和解决办法
一、问题描述代码中使用智能指针share_ptr,创建一个指向类对象的智能指针。在该智能指针自动释放的时候提示如下错误:二、产生的原因 我们申请特定大小的内存,因为在使用过程中导致内存溢出,所以最终在释放该内存的时候就会提示HEAP CORRUPTION DETECTED。简单的例子可以复现该问题:char* p = new char[5];strcpy(p,...原创 2019-11-28 18:52:45 · 5921 阅读 · 0 评论