题目 原题为LeetCode 21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 提示: 两个链表的节点数目范围是 [0, 50] -100 <= Node.val <= 100 l1 和 l2 均按 非递减顺序 排列 样例: 输入:l1 = [1,2,4], l2…
前言&游戏介绍 游戏为本人毕业设计,功能实现较为简陋,这里只是简要描述下开发思路,不包含深入的Gameplay框架分析,项目可无缝升级至UE4.26,素材全部来源于虚幻商城与互联网。完整项目下载,提取码:demo | 视频演示 游戏主体逻辑采用蓝图系统实现,支持多平台运行,包含存档功能,只可在特定位置购买和升级防御塔。游戏共有5波敌人,包括…
前言 众所周知 Windows的所有程序都是由消息驱动的,每个程序都有自己的消息队列,通过处理各种各样的消息来完成一系列操作,从消息队列中抓取消息的常用函数有两个,分别是GetMessage()与PeekMessage(),单从字面意思其实并不容易看出这两个函数的区别,今天刚好有空就来记录一下。 函数原型 GetMessage() BOOL Get…
万恶之源-vector 众所周知,vector会根据输入数据自动分配内部空间,无需人为指定大小,这当然方便我们日常使用,但自动分配也就意味着一定程度上的不可控,在某些情况下极易造成内存空间的浪费,比如下面这段代码: vector<int>v; for (int i = 0; i < 1000000; i++) { v.push_b…
问题代码 学习文件读写时,写了下面这段demo #include <iostream> #include <fstream> #include <string> using namespace std; //以文本文件方式写入 void test01() { cout << "<<…
前言 多态主要分为两类: 静态多态:地址早绑定,即编译阶段确定函数地址,例如函数重载、运算符重载 动态多态:地址晚绑定,即运行阶段确定函数地址 动态多态 使用条件 父类指针或引用指向子类对象 基础语法 引入一段代码示例: #include<iostream> using namespace std; class Animal { pub…
纯虚函数和抽象类 概念 首先引入“纯虚函数”和“抽象类”的概念,示例代码如下 #include<iostream> using namespace std; class Base //抽象类 { public: virtual void func() = 0; //纯虚函数 }; class Son1:public Base { pub…
菱形继承 菱形继承的概念 两个派生类继承同一个基类,又有某个类同时继承着这两个派生类 菱形继承典型案例 这种继承带来的问题主要有两方面: 羊和驼都继承了动物的类成员,当羊驼想要使用时,会产生二义性 羊驼实际继承了两份来自动物的数据,但实际只需要一份 想要解决有两个思路,一是给羊驼的每一份数据加上作用域,但本质上羊驼还是继承了两份数据。二是通过虚继承…