-
如何正确运用设计模式?
所属栏目:[语言] 日期:2022-07-17 热度:196
设计模式不是为每个人准备的,而是基于业务来选择设计模式,需要时就能想到它。要明白一点,技术永远为业务服务,技术只是满足业务需要的一个工具。我们需要掌握每种设计模式的应用场景、特征、优缺点,以及每种设计模式的关联关系,这样就能够很好地满足日[详细]
-
UE4增添人物动画之前后左右移动
所属栏目:[语言] 日期:2022-07-17 热度:66
这也一节,我们来使用动画状态机的逻辑。 1) 编译一下,回到 UE4 编辑器双击我们的动画蓝图,选择动画图标,创建一个状态机,并双击状态机。 2) 点击引脚拉出来一个节点选择添加状态。 3) 更改名字为 Idle 说明是静止状态,然后在 Idle 节点拉出一个 Move 节[详细]
-
开闭原则 面对对象设计原则
所属栏目:[语言] 日期:2022-07-17 热度:113
在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。我们将在下面的几节中依次来介绍这 7 条原则,本节首先介绍开闭原则。 开闭原[详细]
-
Java元注解作用及使用
所属栏目:[语言] 日期:2022-07-16 热度:165
元注解是负责对其它注解进行说明的注解,自定义注解时可以使用元注解。Java 5 定义了 4 个注解,分别是 @Documented、@Target、@Retention 和 @Inherited。Java 8 又增加了 @Repeatable 和 @Native 两个注解。这些注解都可以在 java.lang.annotation 包中找[详细]
-
Java自定义注解
所属栏目:[语言] 日期:2022-07-16 热度:143
前面我们学习了 Java 的基本注解和元注解,如果这两种注解不能满足你的需求,可以自定义注解。下面介绍如何自定义注解。 声明自定义注解使用 @interface 关键字(interface 关键字前加 @ 符号)实现。定义注解与定义接口非常像,如下代码可定义一个简单形式[详细]
-
C++ array STL array 容器用法详解
所属栏目:[语言] 日期:2022-07-16 热度:61
array 容器是 C++ 11 标准中新增的序列容器,简单地理解,它就是在 C++ 普通数组的基础上,添加了一些成员函数和全局函数。在使用上,它比普通数组更安全(原因后续会讲),且效率并没有因此变差。 和其它容器不同,array 容器的大小是固定的,无法动态的扩[详细]
-
C++ STL array随机访问迭代器
所属栏目:[语言] 日期:2022-07-16 热度:150
在《C++ STL迭代器(iterator)》一节中,已经对迭代器做了详细的介绍,STL 为 array 容器配备了随机访问迭代器,该类迭代器是功能最强大的迭代器。本节将详细介绍 array 容器的迭代器的用法。 在 array 容器的模板类中,和随机访问迭代器相关的成员函数如表[详细]
-
C++ STL array容器访问元素的几种方式
所属栏目:[语言] 日期:2022-07-16 热度:77
当 array 容器创建完成之后,最常做的操作就是获取其中的元素,甚至有时还会通过循环结构获取多个元素。本节就对获取容器中元素的方法做个汇总。 访问array容器中单个元素 首先,可以通过容器名[]的方式直接访问和使用容器中的元素,这和 C++ 标准数组访问元[详细]
-
C++ STL vector容器详解
所属栏目:[语言] 日期:2022-07-16 热度:70
vector 容器是 STL 中最常用的容器之一,它和 array 容器非常类似,都可以看做是对 C++ 普通数组的升级版。不同之处在于,array 实现的是静态数组(容量固定的数组),而 vector 实现的是一个动态数组,即可以进行元素的插入和删除,在此过程中,vector 会动[详细]
-
C++ STL vector容器迭代器用法详解
所属栏目:[语言] 日期:2022-07-16 热度:80
在《STL array随机访问迭代器》一节中,详细介绍了 array 容器迭代器,vector 容器迭代器和前者有很多相同之处。比如,vector 容器的迭代器也是随机访问迭代器,并且 vector 模板类提供的操作迭代器的成员函数也和 array 容器一样(如表 1 所示)。 表 1 vec[详细]
-
C++ STL vector容器访问元素的几种方式
所属栏目:[语言] 日期:2022-07-16 热度:181
学会如何创建并初始化 vector 容器之后,本节继续来学习如何获取(甚至修改)容器中存储的元素。 访问vector容器中单个元素 首先,vector 容器可以向普通数组那样访问存储的元素,甚至对指定下标处的元素进行修改,比如: #include iostream #include vector[详细]
-
C++ STL vector添加元素 push_back 和emplace_back 详解
所属栏目:[语言] 日期:2022-07-16 热度:158
要知道,向 vector 容器中添加元素的唯一方式就是使用它的成员函数,如果不调用成员函数,非成员函数既不能添加也不能删除元素。这意味着,vector 容器对象必须通过它所允许的函数去访问,迭代器显然不行。 在 《STL vector容器详解》一节中,已经给大家列出[详细]
-
C++ STL vector插入元素 insert 和emplace 详解
所属栏目:[语言] 日期:2022-07-16 热度:137
vector容器提供了 insert() 和 emplace() 这 2 个成员函数,用来实现在容器指定位置处插入元素,本节将对它们的用法做详细的讲解。 另外,如果想实现在 vector 容器尾部添加元素,可阅读《vector添加元素》一节。 insert() insert() 函数的功能是在 vector[详细]
-
Makefile常用字符串处置函数
所属栏目:[语言] 日期:2022-07-15 热度:64
学习使用函数之前,先来看一下函数的语法结构。函数的调用和变量的调用很像。引用变量的格式为$(变量名),函数调用的格式如下: $(function arguments) 或者是 ${function arguments} 其中,function 是函数名,arguments 是函数的参数,参数之间要用逗号分[详细]
-
Makefile常用文件名运作函数
所属栏目:[语言] 日期:2022-07-15 热度:67
我们在编写 Makefile 的时候,很多情况下需要对文件名进行操作。例如获取文件的路径,去除文件的路径,取出文件前缀或后缀等等。当遇到这样的问题的时手动修改是不太可能的,因为文件可能会很多,而且 Makefile 中操作文件名可能不止一次。所以 Makefile 给[详细]
-
Makefile中另外的常用函数
所属栏目:[语言] 日期:2022-07-15 热度:153
之前学习过了 Makefile 中的字符串操作文件和文件名操作函数,我们今天再来看一下 Makefile 中的其他的函数。以下是这些函数的详细说明。 $(foreach var,list,text) 函数的功能是:把参数list中的单词逐一取出放到参数var所指定的变量中,然后再执行text所包[详细]
-
Makefile命令的编辑
所属栏目:[语言] 日期:2022-07-15 热度:160
通过上个章节的描述,我们已经知道了 Makefile 的规则是什么,他是由依赖关系规则和命令组成的。所使用的命令是由 shell 命令行组成,他们是一条一条执行的。多个命令之间要使用分号隔开,Makefile 中的任何命令都要以tab键开始。多个命令行之间可以有空行和[详细]
-
Makefile include文件包括
所属栏目:[语言] 日期:2022-07-15 热度:87
这个章节主要讲的是 Makefile 中包含其他的文件。包含其他文件使用的关键字是 include,和 C 语言包含头文件的方式相同。 当 make 读取到 include 关键字的时候,会暂停读取当前的 Makefile,而是去读 include 包含的文件,读取结束后再继读取当前的 Makefil[详细]
-
Makefile嵌套实行make
所属栏目:[语言] 日期:2022-07-15 热度:126
这个章节主要讲解的是在 Makefile 中嵌套执行 make。我们都知道在一个大的工程文件中,不同的文件按照功能被划分到不同的模块中,也就说很多的源文件被放置在了不同的目录下。每个模块可能都会有自己的编译顺序和规则,如果在一个 Makefile 文件中描述所有模[详细]
-
嵌套执行make的示范
所属栏目:[语言] 日期:2022-07-15 热度:200
Makefile 中 嵌套执行 make 大部分是在大的工程项目中使用的,那么我们就通过一个大的项目工程来详细的分析一下如何嵌套执行 make。 假设有一个 MP3 player 的应用程序,它可以被划分为若干个组件:用户界面(ui)、编解码器(codec)以及数据管理库(db)。[详细]
-
make命令参数和选项大合集
所属栏目:[语言] 日期:2022-07-15 热度:77
我们在在执行 make 命令时,有的时候需要加上一下参数选项来保证我们的程序的执行,其实之前已经遇到过 make 在执行命令的时候需要添加上参数选项,比如只打印命令但不执行使用的参数是 -n ,还有只执命令不打印命令的参数选项是 -s,包含其它文件的路径参数[详细]
-
Makefile目标类别大汇总
所属栏目:[语言] 日期:2022-07-15 热度:141
这个章节主要讲解的是模式规则中的目标。规则中的目标形式是多种多样的,它可以是一个或多个的文件、可以是一个伪目标,这是我们之前讲到过的,也是经常使用的。其实规则目标还可以是其他的类型,下面是对这些类型的详细的说明。 强制目标 如果一个目标中没[详细]
-
Makefile变量的高级用处
所属栏目:[语言] 日期:2022-07-15 热度:113
我们之前已经学习过变量的定义和基本的赋值运算,我们可以更深入的了解一下变量的一些高级的用法。高级使用方法有两种:一种是变量的替换引用,一种是变量的嵌套引用。这是我们在使用的时候比较常见的两种使用方法,我们来具体分析使用一下变量的这两种高级[详细]
-
C++ 11是什么 C++ 11标准的原由
所属栏目:[语言] 日期:2022-07-14 热度:178
C++ 这门编程语言的历史可以追溯至 1979 年,当时的 Bjarne Stroustrup(C++ 之父,后续简称 Stroustrup)还在使用 Simula 语言进行开发工作。 Simula 语言被认为是第一个面向对象的编程语言。Stroustrup 也非常赞赏 Simula 语言的这种特性,但由于实例开发[详细]
-
C++ auto类型推导完全策略
所属栏目:[语言] 日期:2022-07-14 热度:192
在 C++11 之前的版本(C++98 和 C++ 03)中,定义变量或者声明变量之前都必须指明它的类型,比如 int、char 等;但是在一些比较灵活的语言中,比如 C#、JavaScript、PHP、Python 等,程序员在定义变量时可以不指明具体的类型,而是让编译器(或者解释器)自[详细]