-
解析第一个Qt程序
所属栏目:[语言] 日期:2022-07-16 热度:134
前面章节中,通过在 xxx.ui 文件中拖拽 Label 组件,设计出了一个显示 Hello,World! 的窗口 本节我们完全舍弃 xxx.ui 文件,亲手编写代码实现界面。 创建项目 首先,打开 Qt Creator 并创建一个 Qt Widgets Application 项目,创建过程可以参考 《编写第一[详细]
-
编辑第一个Qt程序
所属栏目:[语言] 日期:2022-07-16 热度:114
学习一种编程语言或编程环境,通常会先编写一个Hello World程序。我们也用 Qt Creator 编写一个Hello World程序,以初步了解 Qt Creator 设计应用程序的基本过程,对使用 Qt Creator 编写 Qt C++ 应用程序建立初步的了解。 新建一个项目 单击 Qt Creator[详细]
-
Qt Creator的初步利用
所属栏目:[语言] 日期:2022-07-16 热度:152
启动 Qt Creator, Qt Creator 的界面很简洁。上方是主菜单栏,左侧是主工具栏,窗口的中间部分是工作区。根据设计内容不同,工作区会显示不同的内容。 图 1 是在左侧主工具栏单击Welcome(欢迎)按钮后显示实例的界面。这时工作区的左侧有 Projects、Exam[详细]
-
UE4的下载和安置 UE4开发环境的搭建
所属栏目:[语言] 日期:2022-07-16 热度:108
使用 UE4 开发游戏之前,必须先搭建开发环境,具体包括: 1) 首先,打开任意一个浏览器输入 UE4 官方网站的网址 https://www.unrealengine.com/zh-CN/,点击右上角的下载按钮,如下图所示: 2) 官方要求必须登录后才能下载,所以大家需要先创建一个账户。[详细]
-
UE4是什么 虚幻4引擎是啥
所属栏目:[语言] 日期:2022-07-16 热度:97
UE4 的全名是 Unreal Engine 4,中文译为虚幻引擎4。UE4 是一款由 Epic Games 公司开发的开源、商业收费、学习免费的游戏引擎。 从 1998 年发行至今,UE4 一共经历了 UE、UE2、UE2.5、UE3、UDK、UE4 多个版本,它的迭代速度极快,现在已经到了 4.22 预览版[详细]
-
C++ STL插入迭代器适配器 insert_iterator
所属栏目:[语言] 日期:2022-07-16 热度:168
《C++ STL反向迭代器》一节讲解了反向迭代器适配器的功能和用法,本节继续讲解 C++ STL 标准库提供的另一类型迭代器适配器,即插入迭代器适配器。 插入迭代器适配器(insert_iterator),简称插入迭代器或者插入器,其功能就是向指定容器中插入元素。值得[详细]
-
C++ STL advance 函数用法详解
所属栏目:[语言] 日期:2022-07-16 热度:97
通过前面的学习,已经讲解了 C++ STL 标准库中所有的基础迭代器以及迭代器适配器的用法。但除此之外,为了方便用户操作这些迭代器,C++ STL 标准库中还提供有一些辅助函数,如表 1 所示。 表 1 C++ STL迭代器辅助函数 迭代器辅助函数 功能 advance(it, n)[详细]
-
C++ STL begin 和end 函数用法
所属栏目:[语言] 日期:2022-07-16 热度:189
在前面章节中,我们已经对 C++ STL标准库提供的所有容器做了系统的讲解。读者可能已经注意到,无论是序列式容器还是关联式容器(包括哈希容器),不仅模板类内部提供有 begin() 和 end() 成员方法,C++ STL 标准库中还提供有同名且具有相同功能的 begin()[详细]
-
C++ STL prev 和next 函数用法详解
所属栏目:[语言] 日期:2022-07-16 热度:182
《C++ STL advance()函数》一节中,详细讲解了 advance() 函数的功能,其可以将指定迭代器前移或后移 n 个位置的距离。 但值得一提的是,advance() 函数移动的是源迭代器,举个例子: #include iostream // std::cout #include iterator // std::advance #[详细]
-
什么叫做适配器 C++ STL容器适配器详解
所属栏目:[语言] 日期:2022-07-16 热度:55
在详解什么是容器适配器之前,初学者首先要理解适配器的含义。 其实,容器适配器中的适配器,和生活中常见的电源适配器中适配器的含义非常接近。我们知道,无论是电脑、手机还是其它电器,充电时都无法直接使用 220V 的交流电,为了方便用户使用,各个电器[详细]
-
C++ stack STL stack 容器适配器用法简介
所属栏目:[语言] 日期:2022-07-16 热度:124
stack 栈适配器是一种单端开口的容器(如图 1 所示),实际上该容器模拟的就是栈存储结构,即无论是向里存数据还是从中取数据,都只能从这一个开口实现操作。 创建 stack 适配器,大致分为如下几种方式。 1) 创建一个不包含任何元素的 stack 适配器,并采[详细]
-
C++ STL queue容器适配器解析
所属栏目:[语言] 日期:2022-07-16 热度:144
和 stack 栈容器适配器不同,queue 容器适配器有 2 个开口,其中一个开口专门用来输入数据,另一个专门用来输出数据。 这种存储结构最大的特点是,最先进入 queue 的元素,也可以最先从 queue 中出来,即用此容器适配器存储数据具有先进先出(简称 FIFO )[详细]
-
C++ STL priority_queue容器适配器剖析
所属栏目:[语言] 日期:2022-07-16 热度:154
priority_queue 容器适配器模拟的也是队列这种存储结构,即使用此容器适配器存储元素只能从一端进(称为队尾),从另一端出(称为队头),且每次只能访问 priority_queue 中位于队头的元素。 但是,priority_queue 容器适配器中元素的存和取,遵循的并不是[详细]
-
C++ STL迭代器适配器是啥
所属栏目:[语言] 日期:2022-07-16 热度:129
通过学习 C++ STL 标准库中的容器我们知道,无论是序列式容器还是关联式容器(包括哈希容器),要想遍历容器中存储的数据,就只能用使用该容器模板类中提供的迭代器。 《C++ STL迭代器》一节提到,C++ STL 标准库中迭代器大致分为 5 种类型,分别是输入迭[详细]
-
C++ STL 反向迭代器适配器 reverse_iterator 说明
所属栏目:[语言] 日期:2022-07-16 热度:88
我们知道,C++ 11 的 STL 标准库提供有 4 种迭代器适配器,本节开始将一一介绍它们的功能和用法,这里先讲解反向迭代器适配器。 反向迭代器适配器(reverse_iterator),可简称为反向迭代器或逆向迭代器,常用来对容器进行反向遍历,即从容器中存储的最后[详细]
-
C++ STL unordered_multiset容器说明
所属栏目:[语言] 日期:2022-07-16 热度:92
前面章节详细地介绍了 unordered_set 容器的特定和用法,在此基础上,本节再介绍一个类似的 C++ STL 无序容器,即 unordered_multiset 容器。 所谓类似,指的是 unordered_multiset 容器大部分的特性都和 unordered_set 容器相同,包括: unordered_multis[详细]
-
C++ STL unordered_map删去元素 erase 和clear
所属栏目:[语言] 日期:2022-07-16 热度:62
C++ STL 标准库为了方便用户可以随时删除 unordered_map 容器中存储的键值对,unordered_map 容器类模板中提供了以下 2 个成员方法: erase():删除 unordered_map 容器中指定的键值对; clear():删除 unordered_map 容器中所有的键值对,即清空容器。 本[详细]
-
C++ STL unordered_multimap容器细说
所属栏目:[语言] 日期:2022-07-16 热度:69
C++ STL 标准库中,除了提供有 unordered_map 无序关联容器,还提供有和 unordered_map 容器非常相似的 unordered_multimap 无序关联容器。 和 unordered_map 容器一样,unordered_multimap 容器也以键值对的形式存储数据,且底层也采用哈希表结构存储各个[详细]
-
C++ STL unordered_set容器完全战略
所属栏目:[语言] 日期:2022-07-16 热度:145
我们知道,C++ 11 为 STL 标准库增添了 4 种无序(哈希)容器,前面已经对 unordered_map 和 unordered_multimap 容器做了详细的介绍,本节再讲解一种无序容器,即 unordered_set 容器。 unordered_set 容器,可直译为无序 set 容器,即 unordered_set 容[详细]
-
C++ STL vector容器迭代器用法详解
所属栏目:[语言] 日期:2022-07-16 热度:112
在《STL array随机访问迭代器》一节中,详细介绍了 array 容器迭代器,vector 容器迭代器和前者有很多相同之处。比如,vector 容器的迭代器也是随机访问迭代器,并且 vector 模板类提供的操作迭代器的成员函数也和 array 容器一样(如表 1 所示)。 表 1 v[详细]
-
C++ STL vector容器访问元素的几种方式
所属栏目:[语言] 日期:2022-07-16 热度:177
学会如何创建并初始化 vector 容器之后,本节继续来学习如何获取(甚至修改)容器中存储的元素。 访问vector容器中单个元素 首先,vector 容器可以向普通数组那样访问存储的元素,甚至对指定下标处的元素进行修改,比如: #include iostream #include vect[详细]
-
Java元注解作用及使用
所属栏目:[语言] 日期:2022-07-16 热度:57
元注解是负责对其它注解进行说明的注解,自定义注解时可以使用元注解。Java 5 定义了 4 个注解,分别是 @Documented、@Target、@Retention 和 @Inherited。Java 8 又增加了 @Repeatable 和 @Native 两个注解。这些注解都可以在 java.lang.annotation 包中[详细]
-
Java自定义注解
所属栏目:[语言] 日期:2022-07-16 热度:167
前面我们学习了 Java 的基本注解和元注解,如果这两种注解不能满足你的需求,可以自定义注解。下面介绍如何自定义注解。 声明自定义注解使用 @interface 关键字(interface 关键字前加 @ 符号)实现。定义注解与定义接口非常像,如下代码可定义一个简单形[详细]
-
C++ array STL array 容器用法详解
所属栏目:[语言] 日期:2022-07-16 热度:135
array 容器是 C++ 11 标准中新增的序列容器,简单地理解,它就是在 C++ 普通数组的基础上,添加了一些成员函数和全局函数。在使用上,它比普通数组更安全(原因后续会讲),且效率并没有因此变差。 和其它容器不同,array 容器的大小是固定的,无法动态的[详细]
-
C++ STL array随机访问迭代器
所属栏目:[语言] 日期:2022-07-16 热度:190
在《C++ STL迭代器(iterator)》一节中,已经对迭代器做了详细的介绍,STL 为 array 容器配备了随机访问迭代器,该类迭代器是功能最强大的迭代器。本节将详细介绍 array 容器的迭代器的用法。 在 array 容器的模板类中,和随机访问迭代器相关的成员函数如[详细]
