Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

C++STL:流迭代器

C++STL:流迭代器

流迭代器是一种迭代器适配器。istream_iterator用于读取输入流,ostream_iterator用于写输出流。这些迭代器将它们所对应的流视为特定类型的元素序列。使用流迭代器时,可以用泛型算法从流对象中读数据或将数据写入到流对象中。流迭代器的构造函数如下:流迭代器的基本操作如下:1、流迭代器的定义。流迭代器都是类模板:任何已定义输入操作符(>>操作符)的类型都可以定义istream_iterator,任何已定义输出操作符(<&l...
C++STL:插入迭代器

C++STL:插入迭代器

迭代器是一个纯粹抽象概念:任何东西,只要其行为类似迭代器,它就是一个迭代器。C++标准库提供了数个预先定义的特殊迭代器,即迭代器适配器(iterator adapters)。它们不仅起辅助作用,还能赋予整个迭代器抽象概念更强大的能力。说明:适配器是使一事物的行为类似于另一事物的行为的一种机制。 插入器是一种迭代器适配器,带有一个容器参数,并生成一个迭代器,用于在指定容器中插入元素。通过插入迭代器赋值时,迭代器将会插入一个新元素。C++提供了三种插入器,其...
C++复制控制:拷贝构造函数

C++复制控制:拷贝构造函数

一、拷贝构造函数是一种特殊构造函数,具有单个形参,该形参(常用const修饰)是对该类类型的引用。与默认构造函数一样 ,拷贝构造函数可由编译器隐式调用。拷贝构造函数应用的场合为:(1)根据另一个同类型的对象显式或隐式初始化一个对象。(2)复制一个对象将它作为实参传给一个函数。(3)从函数返回时复制一个对象。(4)初始化顺序容器中的元素。(5)根据元素初始化式列表初始化数组元素。下面分别对以上5点进行说明。1、对象的定义式。C++支持两种初始化形式:直接初始...
C++隐式类类型转换

C++隐式类类型转换

C++可以定义如何将其他类型的对象隐式转换为我们的类类型或将我们的类类型的对象隐式转换为其他类型。为了定义到类类型的隐式转换,需要定义合适的构造函数。说明:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。class Sales_item{public: Sales_item(const string &book = "") : isbn(book), units_sold(0), revenue(0.0) {} Sale...
Oracle MySQL Client yaSSL证书解码缓冲区溢出漏洞

Oracle MySQL Client yaSSL证书解码缓冲区溢出漏洞

发布日期:2014-09-10更新日期:2014-09-12受影响系统:Oracle MySQL不受影响系统:Oracle MySQL 5.6.20Oracle MySQL 5.5.39描述:BUGTRAQ ID: 69743MySQL是开源的数据库应用。MySQL 5.5.39、5.6.20之前版本没有对用户提供的数据进行有效的边界检查,在实现上存在缓冲区溢出漏洞,攻击者可利用此漏洞在受影响上下文中执行任意代码。<*来源:vendor*>建议...
哈夫曼树与编码译码实现

哈夫曼树与编码译码实现

一、哈弗曼树的基本概念。哈夫曼树,又称最优树,是一类带权路径长度最短的树。下面有几个概念:(1)路径。树中一个结点到另一个结点之间的分支构成这两个结点之间的路径。(2)路径长度。路径上的分枝数目。(3)树的路径长度。从树根到每一个结点的路径长度之和。(4)结点的带权路径长度。从该结点到树根之间的路径长度与结点上权的乘积。(5)树的带权路径长度。树中所有叶子节点的带权路径长度之和。通常记作:带权路径长度WPL最小的二叉树叫做最优二叉树或哈夫曼树。二、构造哈夫...
Cisco TelePresence System MXP系列管理流创建拒绝服务漏洞

Cisco TelePresence System MXP系列管理流创建拒绝服务漏洞

发布日期:2014-09-10更新日期:2014-09-12受影响系统:Cisco TelePresence Systems (CTS)描述:CVE(CAN) ID: CVE-2014-3362Cisco TelePresence是思科网真解决方案,提供了真人大小的超高清晰度视频画面(1080p)、CD 质量的音频、专门设计的环境以及互动组件,为远端的参会者提供了“面对面”的会议体验。Cisco TelePresence Syste...
Linux Kernel本地权限提升漏洞(CVE-2014-0205)

Linux Kernel本地权限提升漏洞(CVE-2014-0205)

发布日期:2014-09-10更新日期:2014-09-12受影响系统:Linux kernel描述:BUGTRAQ ID: 69725CVE(CAN) ID: CVE-2014-0205Linux Kernel是Linux操作系统的内核。Linux kernel在实现上存在本地权限提升漏洞,本地攻击者可利用此漏洞获取提升的权限或造成内核崩溃。<*来源:Mateusz Guzik*>建议:厂商补丁:Linux-----目前厂商已经发布了升级补丁...
归并排序的分析及实现

归并排序的分析及实现

思想:将两个(或以上)的有序表组成新的有序表。说明:(1)更实际的意义:可以把一个长度为n 的无序序列看成是 n 个长度为 1 的有序子序列 ,首先做两两归并,得到 én / 2ù 个长度为 2 的子序列 ;再做两两归并,…,如此重复,直到最后得到一个长度为 n 的有序序列。(2)性能分析。空间性能:辅助空间 O(n)。时间复杂度:O(nlogn)。稳定性:稳定。(3)虽然归并排序的运行时间是O(nlogn),但它...
NetBSD Kernel “setsockopt()”拒绝服务漏洞

NetBSD Kernel “setsockopt()”拒绝服务漏洞

发布日期:2014-09-10更新日期:2014-09-13受影响系统:NetBSD NetBSD 6.1-6.1.4NetBSD NetBSD 6.0-6.0.4描述:NetBSD是免费的具有高度可定制性的类Unix操作系统,适于多种平台,从64位元AMD Athlon服务器和桌面系统到手持设备和嵌入式设备。NetBSD 6.0-6.0.4、6.1-6.1.4版本在处理"setsockopt()"系统调用时存在错误,攻击者通过构造的系统调用,利用此漏洞可...
希尔排序的分析及实现

希尔排序的分析及实现

思想:先将整个待排记录序列分割成若干子序列,分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。说明:(1)子序列的构成不是简单地“逐段分割”,而是将相隔某个增量dk的记录组成一个子序列,让增量dk逐趟缩短(例如依次取5,3,1),直到dk=1为止。由于这个原因,希尔排序也叫缩小增量排序。(2)优点:让关键字值小的元素能很快前移,且序列若基本有序时,再用直接插入排序处理,...
NetBSD Kernel “execve()” 拒绝服务漏洞

NetBSD Kernel “execve()” 拒绝服务漏洞

发布日期:2014-09-10更新日期:2014-09-13受影响系统:NetBSD NetBSD 6.1-6.1.4NetBSD NetBSD 6.0-6.0.4描述:NetBSD是免费的具有高度可定制性的类Unix操作系统,适于多种平台,从64位元AMD Athlon服务器和桌面系统到手持设备和嵌入式设备。NetBSD 6.0-6.0.4、6.1-6.1.4版本在处理"execve()"系统调用时存在错误,攻击者通过构造的ELF二进制文件,利用此漏洞可...
堆排序的分析及实现

堆排序的分析及实现

(二叉)堆是一个数组,它可以被看成一个近似的完全二叉树。二叉堆可以分为两种形式:最大堆和最小堆。若将记录按从大到小排列,建“小”顶堆。若将记录按从小到大排,建“大”顶堆。说明:在堆排序算法中,我们使用的是最大堆,最小堆通常用于构造优先队列。算法分析:时间复杂度是O(nlogn)。堆排序属于原址排序:任何时候都只需要常数个额外的元素空间存储临时数据。堆排序是不稳定的排序算法。#include <stdio...
《APUE》进程环境

《APUE》进程环境

一、main函数。main函数的原型如下。argc是命令行参数的数目,argv是指向参数的各个指针所构成的数组。int main(int argc, char *argv[])当内核执行C程序时(使用一个exec函数),在调用main前先调用一个特殊的启动例程。可执行程序文件将此启动例程指定为程序的起始地址,这是由连接编辑器设置的,而连接编辑器则由C编译器调用。启动例程从内核取得命令行参数和环境变量,然后为调用main函数做好安排。启动例程使得main返回...
<< 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 >>