zl程序教程

C++堆用法详解

  • C++中set用法详解

    C++中set用法详解

    大家好,又见面了,我是你们的朋友全栈君。1.关于setC++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,

    日期 2023-06-12 10:48:40     
  • C++中this指针的作用以及用法详解

    C++中this指针的作用以及用法详解

    大家好,又见面了,我是你们的朋友全栈君。为什么引用this指针?当我们在类中定义了一个变量,同时又在类成员函数中定义了同一个变量时,也就是变量名重复时,但是我们要想使用类中的定义的变量,此时就需要this指针了。1.this指针的作用指针存在于类的成员函数中,指向被调用函数类实例的地址。 一个对象的this指针并不是对象本身的一部分,不会影响sizeof()的结果。this指针的作用域是在类内部,

    日期 2023-06-12 10:48:40     
  • C/C++中inline用法详解编程语言

    C/C++中inline用法详解编程语言

    (一)inline函数(摘自C++ Primer的第三版)  在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联。   inline int min(int first, int secend) {/****/};   inline函数对编译器而言必须是可见的,以便它能够在调用点内展开该函数。与非inline函数不同的是,inline

    日期 2023-06-12 10:48:40     
  • C++随机数生成器(default_random_engine)用法详解

    C++随机数生成器(default_random_engine)用法详解

    默认随机数生成器是 std::default_random_engine 类型别名定义的随机无符号整数的通用源。这个别名表示实现是被定义的,选择的模板类型参数需要能够为用户提供他们满意的序列。下面是一种生成 default_random_engine 类型的迭代器的简单方式: std::default_random_engine rngl; // Create random number g

    日期 2023-06-12 10:48:40     
  • C++ tuple(STL tuple)模板用法详解

    C++ tuple(STL tuple)模板用法详解

    tuple 模板是 pair 模板的泛化,但允许定义 tuple 模板的实例,可以封装不同类型的任意数量的对象,因此 tuple 实例可以有任意数量的模板类型参数。tuple 模板定义在 tuple 头文件中。 tuple 这个术语也适用于很多其他的场景,例如数据库,这里一个 tuple 就是由一些类型的不同数据项组成的,这和 tuple 的概念相似。tuple 对象有很多用途。当需要将多个对象

    日期 2023-06-12 10:48:40     
  • C++ unordered_multimap用法详解

    C++ unordered_multimap用法详解

    unordered_multimap 是一个允许有重复键的无序 map。因此,它支持的操作实际上和 unordered_map 容器是相同的,为了处理多个重复键所做的添加和更改除外。后面会对这些差别做些讨论。生成 unordered_multimap 的方式和 unordered_map 相同。例如: std:: unordered_multimap std::string,size_t p

    日期 2023-06-12 10:48:40     
  • C++ multiset用法详解(附带完整示例)

    C++ multiset用法详解(附带完整示例)

    multiset T 容器就像 set T 容器,但它可以保存重复的元素。这意味我们总可以插入元素,当然必须是可接受的元素类型。默认用 less T 来比较元素,但也可以指定不同的比较函数。在元素等价时,它必须返回 false。例如: std::multiset string, std::greater string words{{ dog , cat , mouse }, std::gre

    日期 2023-06-12 10:48:40     
  • C++线性同余法生成随机数(linear_congruential_engine)用法详解

    C++线性同余法生成随机数(linear_congruential_engine)用法详解

    linear_congruential_engine 类模板实现了一个最老且最简单的生成整数随机序列的算法,它被叫作线性同余法。这个算法包含 3 个参数:乘数 a、增量 c 和模 m。这些值的选择对于生成合理质量的随机序列至关重要。这个过程需要单个的整数种子和第一个随机值 x,x 理论上可以像这样计算: unsigned int x = (a*seed + c) % m; 每个随机数 xn 都

    日期 2023-06-12 10:48:40     
  • string流,C++ string流及其用法详解

    string流,C++ string流及其用法详解

    可以用流迭代器和流缓冲区迭代器来传送数据和读取 string 流。string 流是表示内存中字符缓冲区中的 I/O 对象,是定义在 sstream 头文件中的 3 个模板中的一个模板的实例: 字符数据类型是一个模板参数,对于 char 类型的 string 流有如下类型别名:istringstream、ostringstream 和 stringstream。这些对象的继承层次如图 1 所示。

    日期 2023-06-12 10:48:40     
  • C++ valarray用法(对象初始化和成员函数)详解

    C++ valarray用法(对象初始化和成员函数)详解

    定义在 valarray 头文件中的 valarray 类模板定义了保存和操作数值序列的对象的类型,主要用来处理整数和浮点数,但也能够用来保存类类型的对象,只要类满足一些条件: 如果类满足所有这些约束,就可以使用它了。 valarray 模板为数值数据处理提供的功能比任何序列容器(例如 vector)都多。首先,最重要的是,它被设计为允许编译器以一种不应用到序列容器的方式来优化它的操作性能。但

    日期 2023-06-12 10:48:40     
  • C++随机数(rand和srand)函数用法详解

    C++随机数(rand和srand)函数用法详解

    C++ 提供了一组函数以生成和使用随机数字。随机数字就是从一组可能的值中进行随机选择而获得的一个值。该组中的值都有相同的被选中的几率。 随机数字常用于许多不同类型的程序中,以下是一些示例: 模拟程序使用随机数字来决定后续将要发生的一系列操作或人与动物等的行为。可以创建使用随机数字的公式以确定特定事件在程序中出现的时间。 数据分析程序可能会使用随机数字随机选择要检验的数据。 计算机安全系统使

    日期 2023-06-12 10:48:40     
  • C++ &&、||、!逻辑运算符用法详解

    C++ &&、||、!逻辑运算符用法详解

    逻辑运算符可以将两个或多个关系表达式连接成一个或使表达式的逻辑反转。本节将介绍如何使用逻辑运算符将两个或多个关系表达式组合成一个。表 1 列出了 C++ 的逻辑运算符。 将两个表达式连接成一个。必须有一个或两个表达式为 true,才能使整个表达式为 true。只要其中有一个为 true,那么另外一个就变得无关紧要 反转一个表达式的 真相 。它使一个表达式从 true 变成了 fals

    日期 2023-06-12 10:48:40     
  • C++ tellg和tellp函数用法详解

    C++ tellg和tellp函数用法详解

    文件流对象有两个可用于随机文件访问的成员函数:tellp 和 tellg。它们的目的是将文件读写位置的当前字节编号作为一个 long 类型整数返回。 如果你了解 seekp 和 seekg 不难猜到,tellp 用于返回写入位置,tellg 则用于返回读取位置。假设 pos 是一个 long 类型的整数,那么以下就是该函数的用法示例: pos = outFile.tellp();pos = i

    日期 2023-06-12 10:48:40     
  • C++堆用法详解

    C++堆用法详解

    堆(heaps)是一种特殊的数据组织方式,STL 中的 priority_queue 容器适配器底层就是采用堆来组织数据存储的。为了弄明白堆是什么,首先要搞清楚什么是树存储结构。 树是分层排列的元素或节点。每个节点有一个键,它是节点中所保存的对象,就如同链表中的节点。父节点是有一个或两个子节点的节点。一般父节点可以有任意个数的子节点,树中的父节点不需要有相同个数的子节点。没有子节点的节点叫作叶节

    日期 2023-06-12 10:48:40     
  • C++ STL move_iterator移动迭代器用法详解

    C++ STL move_iterator移动迭代器用法详解

    C++ 11 还为 STL 标准库增添了一种迭代器适配器,即本节要讲的 move_iterator 移动迭代器适配器。 move_iterator 迭代器适配器,又可简称为移动迭代器,其可以实现以移动而非复制的方式,将某个区域空间中的元素移动至另一个指定的空间。 举个例子,前面讲了 vector 容器,该类型容器支持如下初始化的方式(程序一): #include iostream #

    日期 2023-06-12 10:48:40     
  • 【跟学C++】C++的String类用法详解【番外1】

    【跟学C++】C++的String类用法详解【番外1】

    文章目录 1、String类优点2、初始化3、访问字符串4、String类字符串函数4.1 append()拼接4.2 find()查找字符或子串4.3 erase()截断字符串4.4 reverse()字符串

    日期 2023-06-12 10:48:40     
  • 【C++】map和set用法详解

    【C++】map和set用法详解

    文章目录 1.关联式容器2.键值对3.树形结构的关联式容器3.1 set3.1.1 set的介绍3.1.2 set的模板参数列表3.1.3 set的使用 3.2 mapmap的介绍map的模板参数列表m

    日期 2023-06-12 10:48:40