03 2022 档案

摘要:#首先打开项目属性 #1.附加源文件路径 这是包含文件的路径; 包含头文件需要,调用方法时需要; #2.附加静态链接文件路径 这里主要区分是32位还是64位 这是包含文件的路劲; #3.附加静态链接依赖项 这里主要区分是32位还是64位 这是文件名称; 编译时需要; #4.将动态链接文件复制到项目路 阅读全文
posted @ 2022-03-16 20:27 底层逻辑 阅读(1379) 评论(0) 推荐(0)
摘要:游戏编程中最基本的概念 也是最简单的概念之一 游戏循环的概念 当你运行游戏时,做一些初始化设置,然后运行一个循环,只要玩家想继续玩:每一帧,你处理输入,跟新游戏世界的状态,渲染结果显示在屏幕上,当玩家关闭游戏的时候,会进行一些清理工作,然后就完成了. int main() { init(); whi 阅读全文
posted @ 2022-03-15 22:49 底层逻辑 阅读(1917) 评论(0) 推荐(2)
摘要:​ 没有两难选择。如果可能,您的项目应该同时使用这两种方法。蓝图可视化脚本并未被设计为完全取代 C++,尽管它是一种令人惊叹的脚本形式。它允许非程序员角色的人编写游戏逻辑脚本。 ​ 是的,可以仅使用蓝图来完成和发布游戏。 如果您是业余爱好者、独立开发者或只是学习如何创建游戏,那么仅蓝图项目可能是开发 阅读全文
posted @ 2022-03-13 22:34 底层逻辑
摘要:一、Lamda表达式 Lamda表达式是C++11中引入的一项新技术,利用Lamda表达式可以编写内嵌的匿名函数,用以替换独立函数或者函数对象,并且使得代码更可读。是一种匿名函数,即没有函数名的函数;Lamda函数的语法定义如下: **[capture] :**捕捉列表,捕捉列表总是作为lambda 阅读全文
posted @ 2022-03-12 00:00 底层逻辑
摘要:一、类(class)新增的特性 1、default/delete 控制默认函数 在我们没有显式定义类的赋值构造函数和赋值操作符的情况下,编译器会为我们生成默认的这两个函数:默认的赋值函数以内存复制的形式完成对象的复制。 这种机制可以为我们节省很多编写复制构造函数和赋值操作符的时间,但是在某些情况下, 阅读全文
posted @ 2022-03-11 23:35 底层逻辑
摘要:一、智能指针 C程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。程序员自己管理堆内存可以提高了程序的效率,但是整体来说堆内存的管理是麻烦的,C11中引入了智能指针的概念,方便管理堆内存。使用普通指针,容易造成堆内存泄露(忘记释放),二次释放,程序发生异常时内存泄露等问题等 阅读全文
posted @ 2022-03-11 16:29 底层逻辑
摘要:一、新类型及新语法 1、新的数据类型 C++ 11新增了类型long long和unsigned long long,以支持64位(或者更宽)的整型;新增了类型char16_t和char32_t,以支持16位和32位的字符表示;还新增了“原始”字符串。 【示例】 #include <iostream 阅读全文
posted @ 2022-03-11 16:02 底层逻辑
摘要:一、string类 string类本不是STL的容器,但是它与STL容器有着很多相似的操作。之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下的需要。 我们尽 阅读全文
posted @ 2022-03-11 14:50 底层逻辑
摘要:https://commonmark.org/ 阅读全文
posted @ 2022-03-11 13:30 底层逻辑
摘要:我一直以为 assert 仅仅是个报错函数,事实上,它居然是个宏,并且作用并非"报错"。 在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert() 的用法像是一种"契约式编程",在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个 if 语句: 阅读全文
posted @ 2022-03-11 12:32 底层逻辑
摘要:#容器适配器 stack、queue、priority_queue 都不支持任一种迭代器,它们都是容器适配器类型,stack是用vector/deque/list对象创建了一个先进后出容器;queue是用deque或list对象创建了一个先进先出容器;priority_queue是用vector/d 阅读全文
posted @ 2022-03-11 09:25 底层逻辑
摘要:#STL算法分类 ##STL中的算法大致可以分为以下七类: - 不变序列算法 - 变值算法 - 删除算法 - 变序算法 - 排序算法 - 有序区间算法 - 数值算法 ##大多重载的算法都是有两个版本的 - 用 “==” 判断元素是否相等, 或用 “<”来比较大小。 - 多出一个类型参数 “Pred” 阅读全文
posted @ 2022-03-11 01:15 底层逻辑
摘要:#1、基本概念 适配器, 在STL中扮演着转换器的角色,本质上是一种设计模式,用于将一种接口转换成另一种接口,从而是原本不兼容的接口能够很好地一起运作。适配器不提供迭代器。 #2、基本类型 根据目标接口的类型,适配器可分为以下几类: (1) 改变容器的接口,称为容器适配器; (2)改变迭代器的接口, 阅读全文
posted @ 2022-03-11 01:10 底层逻辑
摘要:#仿函数(函数对象) 仿函数又称函数对象,函数对象首先是一个对象,即某个类的实例。其次,函数对象的行为和函数一致,即是说可以像调用函数一样来使用函数对象,如参数传递、返回值等。这种行为是通过重载类的()操作符来实现的。 【示例】 { public: void operator()(int n) { 阅读全文
posted @ 2022-03-11 01:02 底层逻辑
摘要:#迭代器 迭代器(iterator):扮演容器与算法之间的胶合剂,是所谓的“泛型指针”。 迭代器模式:提供一种方法,使之能够依序寻访某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表达方式。 STL的中心思想在于:将数据容器和算法分开,彼此独立设计,最后再以一贴胶着剂(iterator) 阅读全文
posted @ 2022-03-11 00:53 底层逻辑
摘要:#一、简介 关联容器在存储时是以关键字key为下标进行存储的,标准的STL关联容器分为set和map两大类,之后的衍生版本有multiset和multimap,它们的区别是在存储时是否容许出现关键字key相同的情况。这些容器的底层机制均以RB-tree(红黑树)完成。 ##1、对组pair类型提供的 阅读全文
posted @ 2022-03-10 23:07 底层逻辑
摘要:#一、简介 Vector中所采用的数据结构非常简单:线性连续空间。当分配空间被占满而仍然需要添加元素时,vector便会进行一场空间重新配置的大工程!在这里,程序员需要注意的是,一旦引起空间重新配置,之前指向原vector的所有迭代器就都失效了,这一点在工程中容易引起bug。 List则对空间的运用 阅读全文
posted @ 2022-03-10 21:53 底层逻辑
摘要:#一、基本概念 STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C程序库。它被容纳于C标准程序库(C++ Standard Library)中,是ANSI/ISO C标准中最新的也是极具革命性的一部分。该库包含了诸多在计算机科学领域里所常用的基 阅读全文
posted @ 2022-03-10 21:38 底层逻辑
摘要:对于程序中的变量名称,有人主张尽量让变量名简单易懂。在定义变量时,不仅让变量名称易于理解,而且数据类型、属性能够一眼看出,这种观念的命名称为匈牙利命名。 匈牙利命名法是一种编程时的命名规范。这种命名法的出发点是把变量名按:属性+类型+对象描述的顺序组合起来,以使程序员作变量时对变量的类型和其它属性有 阅读全文
posted @ 2022-03-10 21:26 底层逻辑
摘要:#一、前向声明 在C++中,类需要先定义,而后才能被实例化,但是实际存在一种场景是:两个类需要相互引用或相互成为类中的子对象成员时,就无法先定义使用,在编译环节就出现错误导致编译失败,这时就需要用到前向声明,此外,前向声明的类不能被实例化。 【示例】 #ifndef _A_H #define _A_ 阅读全文
posted @ 2022-03-10 21:21 底层逻辑
摘要:#内存泄露 ##1、内存泄露的定义 一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。 应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用fre 阅读全文
posted @ 2022-03-10 21:15 底层逻辑
摘要:#C内存管理 #一、内存分配方式 在C中内存被分为5个区,分别是:栈区、堆区、自由存储区、全局/静态存储区和常量存储区。 1、栈区 在执行函数时,函数内局部变量的存储单元都可一在栈上创建,函数执行结束时,这些存储单元自动被释放。栈内存分配运算内置与处理器指令集中,效率很高,当分配的内存容量有限。 2 阅读全文
posted @ 2022-03-10 21:10 底层逻辑
摘要:#一、单例模式 单例模式,可以说设计模式中最常应用的一种模式了,据说也是面试官最喜欢的题目。但是如果没有学过设计模式的人,可能不会想到要去应用单例模式,面对单例模式适用的情况,可能会优先考虑使用全局或者静态变量的方式,这样比较简单,也是没学过设计模式的人所能想到的最简单的方式了。 一般情况下,我们建 阅读全文
posted @ 2022-03-10 20:57 底层逻辑
摘要:#C++ 模板 模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。 ##1、函数模板 float swap(float &a, float &b){float temp = a;a = b; b=temp;} char swap(char &a, char &b){char t 阅读全文
posted @ 2022-03-10 18:55 底层逻辑
摘要:#一、指针 int *q; int *q=&p; 这里p为int类型的变量,&p就是p的内存地址,*q是一个int类型的变量(是一个值),q为指针是地址,int q=&p;把p的地址赋给了指针q,所以q就等于p的值=12,而q=&p,因为指针本身也是变量,所以&q就是指针q的内存地址。 注意: 不能 阅读全文
posted @ 2022-03-10 18:44 底层逻辑
摘要:#一、静态成员 我们可以使用 static 关键字来把类成员定义为静态的。当我们声明类的成员为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本。 静态成员在类的所有对象中是共享的。如果不存在其他的初始化语句,在创建第一个对象时,所有的静态数据都会被初始化为零。我们不能把静态成员的初始化 阅读全文
posted @ 2022-03-10 18:33 底层逻辑
摘要:面向对象的三个基本特征是:封装、继承、多态。其中,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用! 封装:将一类事物所共有的属性和行为方法进行总结,封装在一个类中。该类的形成过程称为封装,该封装的类实 阅读全文
posted @ 2022-03-10 18:25 底层逻辑
摘要:#一、C++数据抽象 ##1、定义 数据抽象是指,只向外界提供关键信息,并隐藏其后台的实现细节,即只表现必要的信息而不呈现细节。数据抽象是一种依赖于接口和实现分离的编程(设计)技术。 C++类为数据抽象提供了可能。它们向外界提供了大量用于操作对象数据的公共方法,也就是说,外界实际上并不清楚类的内部实 阅读全文
posted @ 2022-03-10 18:10 底层逻辑
摘要:#一、C类 & 对象 C 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。 类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。 ##1、定义C++ 类 定 阅读全文
posted @ 2022-03-10 18:03 底层逻辑
摘要:日志打印三种状态 阅读全文
posted @ 2022-03-07 19:32 底层逻辑 阅读(45) 评论(0) 推荐(0)
摘要:概述 什么是Mermaid? Mermaid是一种基于Javascript的绘图工具,使用类似于Markdown的语法,使用户可以方便快捷地通过代码创建图表。 项目地址:https://github.com/mermaid-js/mermaid(需要将梯子设置成全局模式才能访问) 怎么使用Merma 阅读全文
posted @ 2022-03-06 22:36 底层逻辑 阅读(1416) 评论(0) 推荐(1)