![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 58
一个神秘用户
这个作者很懒,什么都没留下…
展开
-
常用排序算法
一、选择排序原创 2021-02-14 11:56:07 · 217 阅读 · 0 评论 -
C++类的默认成员函数中的大坑!
前几天改bug的时候发现了其他几个bug,深挖之后发现是个大坑,在这里分享一下避免大家掉坑里。先说第一个bugclass Human{public: Human(const char* name = NULL, int age = 0); ~Human(); Human& operator=(const Human* human);//注意这里是指针!!! friend ostream& operator<<(ostream& os, const H原创 2020-07-19 19:59:18 · 182 阅读 · 0 评论 -
C++的多重继承与虚基类
多重继承(MI)多重继承是指使用多个基类的继承,可以分为私有MI,保护MI,公有MI。这里要特别强调一下公有MI,因为它将导致一些问题。原创 2020-07-12 15:27:59 · 173 阅读 · 0 评论 -
类模板与友元函数会擦出什么样的火花
类模板、友元函数,这两个东西单独拿出来大家都不会陌生。那么放一起呢?会发什么奇怪的变化?先来声明一个类模板template<typename T>class A{public: A(T id = 0); T Getid()const; A<T>& operator+(const A<T>& a);private: T id;};然后定义一下成员函数模板template<typename T>A<T>::原创 2020-08-02 12:09:48 · 116 阅读 · 0 评论 -
智能指针——从根源上解决内存泄漏的问题
一、什么是内存泄漏用new在堆中分配内存后,没有调用delete,然后指针所在的内存因为作用域规则而被释放。这时候堆中分配的内存仍在,但是指向它的指针没了,导致程序的整个生命周期内都无法访问这部分内存,也就是说内存泄漏了。如果程序只运行一次两次,偶尔的内存泄漏,其实问题不大。但是如果程序是一直在运行的,那么连续的内存泄漏,迟早会导致程序崩溃,甚至会导致其他程序的崩溃,因为堆中内存已经耗尽了。例:void test(){ char* p = new char[1024*1000*100];//分配1原创 2020-06-21 14:57:15 · 820 阅读 · 0 评论 -
C++递增/减运算符前缀格式和后缀格式的区别
区别一++i是左值,i++是右值。区别二实现代码不同++i等同于i=i+1,然后返回的是变量i本身,所以是一个左值。i++是先将i放在一个临时变量中,再执行++i的操作,然后返回临时变量的值,所以是一个右值。所以i++执行速度会比++i慢一点,它多了一个分配内存并赋值的操作。区别三优先级不同例: int i[5] = { 1,3,5,7,9 }; int* p1 = i; int* p2 = i; int* p3 = i; //*和前缀++/--优先级相同,以从右到左的方式结合原创 2020-06-19 11:18:55 · 1025 阅读 · 0 评论 -
遍历vector容器的4种方法
#include<windows.h>#include<iostream>#include<vector>#include<iterator>#include<algorithm>using namespace std;int main(void){ vector<int> v1; for (int i = 0; i < 4; i++) v1.push_back(i); //遍历容器的4种方法 //1.普原创 2020-08-08 17:35:29 · 952 阅读 · 0 评论 -
C++11新增类型转换
一、静态类型转换:static_cast#include<Windows.h>#include<iostream>using namespace std;class A{public: virtual void Show() { cout << "基类:A\n"; } void role() { cout << "啥也不干!\n"; }};class B :public A{public: void Show() {原创 2020-08-25 08:57:20 · 209 阅读 · 0 评论 -
C++小游戏——俄罗斯方块
记录一下我的成长历程,这是我学了C++之后,写的第一个程序,现在看看觉得很low,但我不想改,有兴趣的小伙伴可以参考一下。#include<iostream>#include<windows.h>#include<conio.h>//使用getch()函数#include<ctime>#include <stdio.h>using namespace std;HANDLE handle;COORD crd;//坐标const原创 2020-07-05 18:03:43 · 1736 阅读 · 0 评论