C++
文章平均质量分 84
立 夏
目前长期在线,欢迎叨扰。
面朝太阳,内心充满阳光。
画一个大的圈,自己注入能量。
展开
-
在vs中通过函数检测是否内存泄漏
1. 判断方法在程序vs编写代码,在想要追踪的方法结尾,使用_CrtDumpMemoryLeaks()函数可以检测是否内存泄漏。推荐在main函数结尾使用,追踪范围更大。int main(){ char* c1 = (char*)malloc(15); delete c1; char* c = (char*)malloc(15); char* c3 = (char*)malloc...原创 2020-05-06 16:04:55 · 613 阅读 · 0 评论 -
[记录]你需要知道的C++问题
问题记录1. 2分钟学会使用随机数函数,避免使用误区最后, 觉得文章对你有用的话,右侧边栏点个打赏吧!1. 2分钟学会使用随机数函数,避免使用误区产生随机数一般把void srand (unsigned seed)和int rand(void)结合使用。srand函数用来设置产生一系列伪随机数发生器的起始点,而rand函数则用这个起点来产生随机数。所以一般代码是这样写的void func(...原创 2020-03-26 14:59:02 · 246 阅读 · 0 评论 -
STL使用问题记录
错误记录1. string使用erase方法删除指定字符出错1. string使用erase方法删除指定字符出错在使用string容器的erase删除字符方法时,尝试了如下代码#include<iostream>using std::cout;using std::endl;using std::string;int main() { string str = "ab...原创 2020-03-25 18:00:30 · 184 阅读 · 0 评论 -
关于.cpp文件包含另一个.cpp文件出错的原因以及解决办法
转载出处:https://www.cnblogs.com/CBDoctor/archive/2012/08/18/2644961.html#4530400关键点:当2.cpp进行#include"1.cpp"时,对文件进行编译时2.cpp文件中已经把1.cpp文件的内容包含进来了,所以2.cpp里既有原本自己的代码,也有1.cpp的代码。且因为文件单独编译,进行链接时就会发现2.obj中有1.o...转载 2020-03-23 23:22:53 · 1227 阅读 · 2 评论 -
牛牛的背包
链接:https://www.nowcoder.com/questionTerminal/bf877f837467488692be703735db84e6 来源:牛客网牛牛准备参加学校组织的春游, 出发前牛牛准备往背包里装入一些零食, 牛牛的背包容量为w。 牛牛家里一共有n袋零食, 第i袋零食体积为v[i]。 牛牛想知道在总体积不超过背包容量的情况下,他一共有多少种零食放法(总体积为0也...原创 2018-09-03 17:25:39 · 455 阅读 · 2 评论 -
文件压缩
构建利用哈夫曼树,生成哈夫曼编码。出现次数多的字符在上端,数显次数少的在下端。这样编码时,尽管出现次数少的需要编码长,但是出现次数的的距离根节点较近,编码短,且不再用原始字符占用空间而用0和1代替,大大节省了大量空间。解压缩时用原来的哈夫曼树就可以无损解压缩了。FileCompress.h#pragma once#include&amp;lt;fstream&amp;gt;#include&quot;Hu...原创 2018-07-15 00:25:47 · 350 阅读 · 0 评论 -
插入字符判断是否构成回文串(三种方法)
题目:给定一个字符串,问是否能通过添加一个字母将其变为回文串。提要:所有代码皆为C++语言。看到题,首先想到如何判断回文串 注:回文串添加或删除指定字符一定还是回文串。对于一个字符串,从左右两端开始,以此判断,直到读取超出字符串中间。代码如下:#include<iostream>#include<string.h>using namespace...原创 2018-07-25 21:17:12 · 3005 阅读 · 0 评论 -
N种拷贝构造优化,多种测试代码
今天刷题,遇到了拷贝构造优化的题,没有做对。对此,当然不能放任不管啦,经过这么多实践,终于搞懂优化了。友情提示:推荐对拷贝构造优化有一定了解的人,因为此篇博客不做讲解,测试平台VS 2015,Debug模式x64。只有一句话给各位看观,希望能帮助各位更好了解。 归根结底,调用拷贝构造函数的情况一定是这个对象不存在;如果对象存在,则调用的就是赋值运算符的重载了。class ...原创 2018-07-24 19:35:12 · 222 阅读 · 0 评论 -
编程题目:到底买不买
题目:链接https://www.nowcoder.com/questionTerminal/2f13c507654b4f878b703cfbb5cdf3a5 来源:牛客网小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一 下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告...原创 2018-07-03 23:34:53 · 829 阅读 · 0 评论 -
简述malloc和free与new和delete
一、简说new和delete是C++的关键字,通过new和delete可以在堆上开辟和释放空间。在C语言中我们通过malloc和free对堆上的内存进行申请和释放。 在C++中,则需要对类的对象进行管理。用new和delete管理对象,new[]和delete[]管理对象数组。它们之间要对应使用。void Test(){ int *p = (int*)malloc(4)...原创 2018-06-27 20:50:09 · 388 阅读 · 0 评论 -
类的非默认成员函数(普通函数、内联函数、友元函数)
一、类的普通成员函数 普通成员函数本质上是一个包含指向具体对象this指针的普通函数,即c++类的普通成员函数都隐式包含一个指向当前对象的this指针。class Person{public: Person() { _name = "LiMing"; _age = 20; } void Show() { ...原创 2018-05-16 12:33:12 · 1002 阅读 · 0 评论 -
C++初阶总结(详细)
一、面向对象的思想面向对象是一种以你办事我放心为理想构造出来的东西。这也是一个很好的鉴别一个面向对象的设计是否正确的方法。一个好的面向对象设计,会让你让他办事的时候,你不得不放心(也就是说,你不放心也没用,反正你什么都不知道)。(1)面向对象程序设计概念:(Object Oriented Programming,缩写:OOP)是一种程序设计范型,同时也是一种程序开发的方法。 对象...原创 2018-05-14 00:31:27 · 439 阅读 · 0 评论 -
C++之模板
模板是泛型编程的基础,不支持分离编译(定义和声明只能在一个文件中)。模板实现在一个.cpp文件,模板的调用在main函数的.cpp文件,main函数去其他.cpp找模板实现代码,但实现函数的.cpp因为没有在文件内调用并不会向.o文件生成代码,因此会找不到,造成报错。泛型编程就是编写与类型无关的逻辑代码,是一种复用的方式。一、模板分为模板函数和模板类 模板格式:templ...原创 2018-05-13 14:18:39 · 453 阅读 · 0 评论