-
C++ find函数用法详解
所属栏目:[语言] 日期:2022-07-16 热度:92
find() 函数本质上是一个模板函数,用于在指定范围内查找和目标元素值相等的第一个元素。 如下为 find() 函数的语法格式: InputIterator find (InputIterator first, InputIterator last, const T val); 其中,first 和 last 为输入迭代器,[first, last)[详细]
-
Qt是什么?Qt简介很全面
所属栏目:[语言] 日期:2022-07-16 热度:65
Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。 Qt 是纯 C++ 开发的,所以学好 C++ 非常有必要,[详细]
-
Qt和其它GUI库的比较
所属栏目:[语言] 日期:2022-07-16 热度:108
世界上的 GUI 库多如牛毛,有的跨平台,有的专属于某个操作系统;有的只有 UI 功能,有的还融合了网络通信、多媒体处理、数据库访问等底层功能。 Windows 下的 GUI 库 Windows 下的 GUI 解决方案比较多: 基于 C++ 的有 Qt、MFC、WTL、wxWidgets、DirectUI[详细]
-
学习QML或是C++
所属栏目:[语言] 日期:2022-07-16 热度:160
Qt4 时代的主流就是传统部件(或叫控件)编程,所用的语言一般是 C++。 Qt5 诞生之时,正是手机移动设备蓬勃发展的时候,而传统的 C++ 部件编写的界面对手机应用程序非常方便,比如手机屏幕显示随意翻转, 这在传统桌面程序里基本遇不到,谁会将 22 寸显示[详细]
-
UE4使用哪种编译器
所属栏目:[语言] 日期:2022-07-16 热度:179
UE4 的底层虽然是用 C++ 实现的,但它又不仅仅是一个 C++ 库,它还实现了自己的编译机制。换句话说,UE4 对现有的 C++ 语法进行了改进,以适应游戏开发的场景。 当然,UE4 也不会疯狂到自己去开发一个 C++ 编译器,它还是需要依赖传统的 C++ 编译器以及相[详细]
-
C++ move STL move 函数运用详解
所属栏目:[语言] 日期:2022-07-16 热度:104
move() 算法会将它的前两个输入迭代器参数指定的序列移到第三个参数定义的目的序列的开始位置,第三个参数必须是输出迭代器。这个算法返回的迭代器指向最后一个被移动到目的序列的元素的下一个位置。 这是一个移动操作,因此无法保证在进行这个操作之后,[详细]
-
C++ swap_ranges STL swap_ranges 函数利用详解
所属栏目:[语言] 日期:2022-07-16 热度:169
可以用 swap_ranges() 算法来交换两个序列。这个算法需要 3 个正向迭代器作为参数。前两个参数分别是第一个序列的开始和结束迭代器,第三个参数是第二个序列的开始迭代器。显然,这两个序列的长度必须相同。这个算法会返回一个迭代器,它指向第二个序列的[详细]
-
C++ fill和fill_n函数用法解说
所属栏目:[语言] 日期:2022-07-16 热度:125
fill() 和 fill_n() 算法提供了一种为元素序列填入给定值的简单方式,fill() 会填充整个序列; fill_n() 则以给定的迭代器为起始位置,为指定个数的元素设置值。下面展示了 fill() 的用法: std::vectorstring data {12}; // Container has 12 elements st[详细]
-
UE4是什么 虚幻4引擎是啥
所属栏目:[语言] 日期:2022-07-16 热度:181
UE4 的全名是 Unreal Engine 4,中文译为虚幻引擎4。UE4 是一款由 Epic Games 公司开发的开源、商业收费、学习免费的游戏引擎。 从 1998 年发行至今,UE4 一共经历了 UE、UE2、UE2.5、UE3、UDK、UE4 多个版本,它的迭代速度极快,现在已经到了 4.22 预览版[详细]
-
UE4的下载和安置 UE4开发环境的搭建
所属栏目:[语言] 日期:2022-07-16 热度:69
使用 UE4 开发游戏之前,必须先搭建开发环境,具体包括: 1) 首先,打开任意一个浏览器输入 UE4 官方网站的网址 https://www.unrealengine.com/zh-CN/,点击右上角的下载按钮,如下图所示: 2) 官方要求必须登录后才能下载,所以大家需要先创建一个账户。[详细]
-
C++ STL lexicographical_compare字符串排序算法说明
所属栏目:[语言] 日期:2022-07-16 热度:64
两个字符串的字母排序是通过从第一个字符开始比较对应字符得到的。第一对不同的对应字符决定了哪个字符串排在首位。字符串的顺序就是不同字符的顺序。如果字符串的长度相同,而且所有的字符都相等,那么这些字符串就相等。如果字符串的长度不同,短字符串[详细]
-
C++ equal STL equal 对比算法详解
所属栏目:[语言] 日期:2022-07-16 热度:112
可以用和比较字符串类似的方式来比较序列。如果两个序列的长度相同,并且对应元素都相等,equal() 算法会返回 true。有 4 个版本的 equal() 算法,其中两个用 == 运算符来比较元素,另外两个用我们提供的作为参数的函数对象来比较元素,所有指定序列的迭代[详细]
-
C++ lower_bound 函数用法解析
所属栏目:[语言] 日期:2022-07-16 热度:59
前面章节中,已经给大家系统地介绍了几个查找函数,如 find()、find_if()、search() 等。值得一提的是,这些函数的底层实现都采用的是顺序查找(逐个遍历)的方式,在某些场景中的执行效率并不高。例如,当指定区域内的数据处于有序状态时,如果想查找某个[详细]
-
C++ STL all_of any_of及none_of算法细说
所属栏目:[语言] 日期:2022-07-16 热度:169
algorithm 头文件中定义了 3 种算法,用来检查在算法应用到序列中的元素上时,什么时候使谓词返回 true。这些算法的前两个参数是定义谓词应用范围的输入迭代器;第三个参数指定了谓词。检查元素是否能让谓词返回 true 似乎很简单,但它却是十分有用的。 例[详细]
-
C++ STL set insert方案详解
所属栏目:[语言] 日期:2022-07-16 热度:150
通过前面的学习,我们已经学会如何创建一个 set 容器。在此基础上,如果想向 set 容器中继续添加元素,可以借助 set 类模板提供的 insert() 方法。 为满足不同场景的需要,C++ 11 标准的 set 类模板中提供了多种不同语法格式的 insert() 成员方法,它们各[详细]
-
C++ STL set emplace 和emplace_hint 办法详解
所属栏目:[语言] 日期:2022-07-16 热度:80
要知道,set 类模板提供的所有成员方法中,能实现向指定 set 容器中添加新元素的,只有 3 个成员方法,分别为 insert()、emplace() 和 emplace_hint()。其中 insert() 成员方法的用法已在前面章节做了详细的讲解,本节重点介绍剩下的这 2 个成员方法。 emp[详细]
-
C++ STL set删除数据 erase 和clear方式
所属栏目:[语言] 日期:2022-07-16 热度:190
如果想删除 set 容器存储的元素,可以选择用 erase() 或者 clear() 成员方法。 set 类模板中,erase() 方法有 3 种语法格式,分别如下: //删除 set 容器中值为 val 的元素 size_type erase (const value_type val); //删除 position 迭代器指向的元素 ite[详细]
-
C++ STL multiset容器说明
所属栏目:[语言] 日期:2022-07-16 热度:124
前面章节中,对 set 容器做了详细的讲解。回忆一下,set 容器具有以下几个特性: 不再以键值对的方式存储数据,因为 set 容器专门用于存储键和值相等的键值对,因此该容器中真正存储的是各个键值对的值(value); set 容器在存储数据时,会根据各元素值的[详细]
-
C++ STL无序容器 哈希容器 是啥
所属栏目:[语言] 日期:2022-07-16 热度:202
继 map、multimap、set、multiset 关联式容器之后,从本节开始,再讲解一类特殊的关联式容器,它们常被称为无序容器、哈希容器或者无序关联容器。 注意,无序容器是 C++ 11 标准才正式引入到 STL 标准库中的,这意味着如果要使用该类容器,则必须选择支持[详细]
-
C++ STL unordered_map容器用途详解
所属栏目:[语言] 日期:2022-07-16 热度:160
C++ STL 标准库中提供有 4 种无序关联式容器,本节先讲解 unordered_map 容器。 unordered_map 容器,直译过来就是无序 map 容器的意思。所谓无序,指的是 unordered_map 容器不会像 map 容器那样对存储的数据进行排序。换句话说,unordered_map 容器和 ma[详细]
-
C++ unordered_map迭代器的用处
所属栏目:[语言] 日期:2022-07-16 热度:164
C++ STL 标准库中,unordered_map 容器迭代器的类型为前向迭代器(又称正向迭代器)。这意味着,假设 p 是一个前向迭代器,则其只能进行 *p、p++、++p 操作,且 2 个前向迭代器之间只能用 == 和 != 运算符做比较。 在 unordered_map 容器模板中,提供了表[详细]
-
C++ STL unordered_map获取元素的4种方案
所属栏目:[语言] 日期:2022-07-16 热度:81
通过前面的学习我们知道,unordered_map 容器以键值对的方式存储数据。为了方便用户快速地从该类型容器提取出目标元素(也就是某个键值对的值),unordered_map 容器类模板中提供了以下几种方法。 1) unordered_map 容器类模板中,实现了对 [ ] 运算符的重[详细]
-
C++ unordered_map insert用法详解
所属栏目:[语言] 日期:2022-07-16 热度:183
为了方便用户向已建 unordered_map 容器中添加新的键值对,该容器模板中提供了 insert() 方法,本节就对此方法的用法做详细的讲解。 unordered_map 模板类中,提供了多种语法格式的 insert() 方法,根据功能的不同,可划分为以下几种用法。 1) insert() 方[详细]
-
C++ unordered_map emplace 和emplace_hint方式
所属栏目:[语言] 日期:2022-07-16 热度:202
和前面学的 map、set 等容器一样,C++ 11 标准也为 unordered_map 容器新增了 emplace() 和 emplace_hint() 成员方法,本节将对它们的用法做详细的介绍。 我们知道,实现向已有 unordered_map 容器中添加新键值对,可以通过调用 insert() 方法,但其实还有[详细]
-
C++ STL unordered_map删去元素 erase 和clear
所属栏目:[语言] 日期:2022-07-16 热度:194
C++ STL 标准库为了方便用户可以随时删除 unordered_map 容器中存储的键值对,unordered_map 容器类模板中提供了以下 2 个成员方法: erase():删除 unordered_map 容器中指定的键值对; clear():删除 unordered_map 容器中所有的键值对,即清空容器。 本[详细]