-
C++ swap_ranges STL swap_ranges 函数利用详解
所属栏目:[编程] 日期:2022-07-16 热度:74
可以用 swap_ranges() 算法来交换两个序列。这个算法需要 3 个正向迭代器作为参数。前两个参数分别是第一个序列的开始和结束迭代器,第三个参数是第二个序列的开始迭代器。显然,这两个序列的长度必须相同。这个算法会返回一个迭代器,它指向第二个序列的最[详细]
-
C++ fill和fill_n函数用法解说
所属栏目:[编程] 日期:2022-07-16 热度:86
fill() 和 fill_n() 算法提供了一种为元素序列填入给定值的简单方式,fill() 会填充整个序列; fill_n() 则以给定的迭代器为起始位置,为指定个数的元素设置值。下面展示了 fill() 的用法: std::vectorstring data {12}; // Container has 12 elements std:[详细]
-
UE4是什么 虚幻4引擎是啥
所属栏目:[编程] 日期:2022-07-16 热度:102
UE4 的全名是 Unreal Engine 4,中文译为虚幻引擎4。UE4 是一款由 Epic Games 公司开发的开源、商业收费、学习免费的游戏引擎。 从 1998 年发行至今,UE4 一共经历了 UE、UE2、UE2.5、UE3、UDK、UE4 多个版本,它的迭代速度极快,现在已经到了 4.22 预览版。[详细]
-
UE4的下载和安置 UE4开发环境的搭建
所属栏目:[编程] 日期:2022-07-16 热度:76
使用 UE4 开发游戏之前,必须先搭建开发环境,具体包括: 1) 首先,打开任意一个浏览器输入 UE4 官方网站的网址 https://www.unrealengine.com/zh-CN/,点击右上角的下载按钮,如下图所示: 2) 官方要求必须登录后才能下载,所以大家需要先创建一个账户。 3)[详细]
-
UE4使用哪种编译器
所属栏目:[编程] 日期:2022-07-16 热度:138
UE4 的底层虽然是用 C++ 实现的,但它又不仅仅是一个 C++ 库,它还实现了自己的编译机制。换句话说,UE4 对现有的 C++ 语法进行了改进,以适应游戏开发的场景。 当然,UE4 也不会疯狂到自己去开发一个 C++ 编译器,它还是需要依赖传统的 C++ 编译器以及相关[详细]
-
Linux Qt cannot find -lGL错误完美解决方法
所属栏目:[编程] 日期:2022-07-16 热度:120
对于很多 Linux 发行版本,Qt 安装完成后如果直接编译或者运行项目,会出现cannot find -lGL错误, 这是因为 Qt 找不到 OpenGL 的动态链接库(libGL.so)。在《Linux Qt安装》一节中我们说过,OpenGL 在大部分 Linux 发行版中都是默认安装的,包括 Ubuntu、C[详细]
-
解密Qt安装目录的构架
所属栏目:[编程] 日期:2022-07-16 热度:143
了解 Qt 安装目录的结构虽然不是编程必须的,但是它能练就我们的内功,让我们对 Qt 的编程环境了如指掌。Windows 和 Linux 下 Qt 安装目录的结构非常相似,我们以 Windows 为例进行讲解,Linux 不再赘述。 不同版本 Qt 的安装目录结构大同小异,本节我们以 Q[详细]
-
知晓一下Qt用到的开发工具
所属栏目:[编程] 日期:2022-07-16 热度:116
Qt 不是凭空产生的,它是基于现有工具链打造而成的,它所使用的编译器、链接器、调试器等都不是自己的,Qt 官方只是开发了上层工具。下面我们分几个部分讲解 Qt 使用到的工具链。 GNU 工具集 在上个世纪八十年代,计算机都是奢侈品,操作系统里最著名的是 Un[详细]
-
Qt编程涉及的术语与名词
所属栏目:[编程] 日期:2022-07-16 热度:190
本节我们来介绍一下使用 Qt 编程过程中常用的术语和名字,它们不一定专属于 Qt,在其它的 C/C++ 开发过程中也会使用到。 Project Project 的中文翻译是项目或者工程,这里的项目是指为实现某个相对独立功能的程序代码合集,这些代码不单单是放在一块,而是有[详细]
-
Qt Creator的初步利用
所属栏目:[编程] 日期:2022-07-16 热度:194
启动 Qt Creator, Qt Creator 的界面很简洁。上方是主菜单栏,左侧是主工具栏,窗口的中间部分是工作区。根据设计内容不同,工作区会显示不同的内容。 图 1 是在左侧主工具栏单击Welcome(欢迎)按钮后显示实例的界面。这时工作区的左侧有 Projects、Exampl[详细]
-
Java元注解作用及使用
所属栏目:[编程] 日期:2022-07-15 热度:80
元注解是负责对其它注解进行说明的注解,自定义注解时可以使用元注解。Java 5 定义了 4 个注解,分别是 @Documented、@Target、@Retention 和 @Inherited。Java 8 又增加了 @Repeatable 和 @Native 两个注解。这些注解都可以在 java.lang.annotation 包中找[详细]
-
Java自定义注解
所属栏目:[编程] 日期:2022-07-15 热度:127
前面我们学习了 Java 的基本注解和元注解,如果这两种注解不能满足你的需求,可以自定义注解。下面介绍如何自定义注解。 声明自定义注解使用 @interface 关键字(interface 关键字前加 @ 符号)实现。定义注解与定义接口非常像,如下代码可定义一个简单形式[详细]
-
C++ array STL array 容器用法详解
所属栏目:[编程] 日期:2022-07-15 热度:179
array 容器是 C++ 11 标准中新增的序列容器,简单地理解,它就是在 C++ 普通数组的基础上,添加了一些成员函数和全局函数。在使用上,它比普通数组更安全(原因后续会讲),且效率并没有因此变差。 和其它容器不同,array 容器的大小是固定的,无法动态的扩[详细]
-
C++ STL array随机访问迭代器
所属栏目:[编程] 日期:2022-07-15 热度:111
在《C++ STL迭代器(iterator)》一节中,已经对迭代器做了详细的介绍,STL 为 array 容器配备了随机访问迭代器,该类迭代器是功能最强大的迭代器。本节将详细介绍 array 容器的迭代器的用法。 在 array 容器的模板类中,和随机访问迭代器相关的成员函数如表[详细]
-
C++ STL array容器访问元素的几种方式
所属栏目:[编程] 日期:2022-07-15 热度:80
当 array 容器创建完成之后,最常做的操作就是获取其中的元素,甚至有时还会通过循环结构获取多个元素。本节就对获取容器中元素的方法做个汇总。 访问array容器中单个元素 首先,可以通过容器名[]的方式直接访问和使用容器中的元素,这和 C++ 标准数组访问元[详细]
-
C++ STL vector容器详解
所属栏目:[编程] 日期:2022-07-15 热度:103
vector 容器是 STL 中最常用的容器之一,它和 array 容器非常类似,都可以看做是对 C++ 普通数组的升级版。不同之处在于,array 实现的是静态数组(容量固定的数组),而 vector 实现的是一个动态数组,即可以进行元素的插入和删除,在此过程中,vector 会动[详细]
-
C++ STL vector容器迭代器用法详解
所属栏目:[编程] 日期:2022-07-15 热度:67
在《STL array随机访问迭代器》一节中,详细介绍了 array 容器迭代器,vector 容器迭代器和前者有很多相同之处。比如,vector 容器的迭代器也是随机访问迭代器,并且 vector 模板类提供的操作迭代器的成员函数也和 array 容器一样(如表 1 所示)。 表 1 vec[详细]
-
C++ STL vector容器访问元素的几种方式
所属栏目:[编程] 日期:2022-07-15 热度:133
学会如何创建并初始化 vector 容器之后,本节继续来学习如何获取(甚至修改)容器中存储的元素。 访问vector容器中单个元素 首先,vector 容器可以向普通数组那样访问存储的元素,甚至对指定下标处的元素进行修改,比如: #include iostream #include vector[详细]
-
C++ STL vector添加元素 push_back 和emplace_back 详解
所属栏目:[编程] 日期:2022-07-15 热度:193
要知道,向 vector 容器中添加元素的唯一方式就是使用它的成员函数,如果不调用成员函数,非成员函数既不能添加也不能删除元素。这意味着,vector 容器对象必须通过它所允许的函数去访问,迭代器显然不行。 在 《STL vector容器详解》一节中,已经给大家列出[详细]
-
C++ STL vector插入元素 insert 和emplace 详解
所属栏目:[编程] 日期:2022-07-15 热度:173
vector容器提供了 insert() 和 emplace() 这 2 个成员函数,用来实现在容器指定位置处插入元素,本节将对它们的用法做详细的讲解。 另外,如果想实现在 vector 容器尾部添加元素,可阅读《vector添加元素》一节。 insert() insert() 函数的功能是在 vector[详细]
-
php中判断数组是一维,二维,还是多维的解决方法
所属栏目:[编程] 日期:2022-07-15 热度:176
复制代码 代码如下:www.CuoXIn.com ?php /** * 返回数组的维度 * @param [type] $arr [description] * @return [type] [description] */ function arrayLevel($arr){ $al = array(0); function aL($arr,$al,$level=0){ if(is_array($arr)){ $level++; $al[][详细]
-
PHP命名空间Namespace的使用详解
所属栏目:[编程] 日期:2022-07-15 热度:185
对于命名空间,官方文档已经说得很详细[],我在这里做了一下实践和总结。 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定[详细]
-
LotusPhp笔记之Logger组件的使用方法
所属栏目:[编程] 日期:2022-07-15 热度:158
今天比较忙,本来想写多点内容,暂时没有办法了,捡个比较简单的组件来写下好了,往后的几章都是介绍组件。 LtLogger的使用还是比较简单的,基本代码都是在Autoloader的环境下运行的,所以我也懒的去引用神马路径,调用神马类库,知道怎么用就可以了。 $log=[详细]
-
LotusPhp笔记之基于ObjectUtil组件的使用分析
所属栏目:[编程] 日期:2022-07-15 热度:188
ObjectUtil组件其实就是单例模式的最好范例,声明调用各个组件的时候,用ObjectUtil调用,可以有效的防止调用过多的类而导致错误或者资源浪费。 比如调用Db组件,这样声明就可以了 $db = LtObjectUtil::singleton(LtDb); singleton方法是LtObjectUtil类中唯[详细]
-
LotusPhp笔记之Cookie组件的使用详解
所属栏目:[编程] 日期:2022-07-15 热度:75
LotusPhp 的 Cookie 组件也是非常简单易用的。 首先,要新建一个配置文件,文件名为 cookie.conf.php,至于放在哪里等到讲到 Config 组件的时候会有一个阐述,今天先说怎么用,需要哪些步骤。 Cookie 配置文件的主要内容就是定义 Cookie 的加密密匙,程序里[详细]