PaQiuQiu
作为一个热衷于技术的从业者,我在这里与大家分享最新的科技动态、独到的技术观点和实践经验。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++ Primer第五版_第九章习题答案(1~10)
对于下面的程序任务,vector、deque和list哪种容器最为适合?解释你的选择的理由。编写函数,接受一对指向vector的迭代器和一个int值。在两个迭代器指定的范围中查找给定的值,返回一个布尔值来指出是否找到。为了读取string 的list 中的元素,应该使用什么类型?重写上一题的函数,返回一个迭代器指向找到的元素。为了索引int 的 vector中的元素,应该使用什么类型?定义一个list对象,其元素类型是int的deque。构成迭代器范围的迭代器有何限制?返回的是普通迭代器,原创 2023-04-02 10:30:37 · 416 阅读 · 0 评论 -
C++ Primer第五版_第八章习题答案(11~14)
本节的程序在外层while循环中定义了istringstream 对象。如果record 对象定义在循环之外,你需要对程序进行怎样的修改?重写程序,将record的定义移到while 循环之外,验证你设想的修改方法是否正确。因为这里只需要聚合类就够了,所以没有必要在 PersionInfo 中使用类内初始化。我们为什么将entry和nums定义为 const auto&?重写本节的电话号码程序,从一个命名文件而非cin读取数据。我们为什么没有在PersonInfo中使用类内初始化?原创 2023-04-02 10:23:02 · 142 阅读 · 0 评论 -
C++ Primer第五版_第八章习题答案(1~10)
完成这些操作后,在返回流之前,对流进行复位,使其处于有效状态。编写程序,将来自一个文件中的行保存在一个vector中。编写函数,以读模式打开一个文件,将其内容读入到一个string的vector中,将每一行作为一个独立的元素存于vector中。修改上一题的程序,将结果追加到给定的文件末尾。修改上一节的书店程序,将结果保存到一个文件中。重写7.1.1节的书店程序,从一个文件中读取交易记录。重写上面的程序,将每个单词作为一个独立的元素进行存储。的任一个被置位,那么检测流状态的条件会失败。原创 2023-04-02 10:14:20 · 411 阅读 · 0 评论 -
C++ Primer第五版_第七章习题答案(51~58)
很明显这样调用会让人困惑,函数实际上会初始化一个拥有34个元素的vector的临时量,然后返回34。而 string 则不同,string 的单参数构造函数的参数是 const char * ,因此凡是在需要用到 string 的地方都可以用 const char * 来代替(字面值就是 const char *)。vector 将其单参数的构造函数定义成 explicit 的,而string则不是,你觉得原因何在?与类本身相关,而不是与类的各个对象相关的成员是静态成员。什么是类的静态成员?原创 2023-03-30 21:51:45 · 279 阅读 · 0 评论 -
C++ Primer第五版_第七章习题答案(41~50)
用各种可能的方式分别创建 Sales_data 对象,认真研究每次输出的信息直到你确实理解了委托构造函数的执行顺序。如果不可以,从抽象概念列表中重新选择一个你认为可以使用委托构造函数的,为挑选出的这个概念编写类定义。假定有一个名为 NoDefault 的类,它有一个接受 int 的构造函数,但是没有默认构造函数。定义类 C,C 有一个 NoDefault 类型的成员,定义C 的默认构造函数。说明接受一个string 参数的Sales_data构造函数是否应该是explicit的,并解释这样做的优缺点。原创 2023-03-30 21:30:11 · 608 阅读 · 1 评论 -
C++ Primer第五版_第七章习题答案(31~40)
练习7.32练习7.33未定义标识符 pos。应该改为:练习7.34在 函数中会出现 未定义的标识符pos。练习7.35书上255页中说:因此重复定义 Type 是错误的行为。应该改为:练习7.37练习7.38练习7.29不合法。当你调用 构造函数时,无法区分是哪个重载。(a) Book.原创 2023-03-30 21:20:10 · 783 阅读 · 0 评论 -
C++ Primer第五版_第七章习题答案(21~30)
你之前编写的关于Sales_data操作的程序应该继续使用,借助类的新定义重新编译该程序,确保其正常工作。如果返回类型是Screen,那么move返回的是 *this 的一个副本,因此set函数只能改变临时副本而不能改变myScreen的值。修改你的Screen 类,令move、set和display函数返回Screen并检查程序的运行结果,在上一个练习中你的推测正确吗?给你自己的Screen 类添加move、set 和display 函数,通过执行下面的代码检验你的类是否正确。有时候显得有点多余,如。原创 2023-03-30 21:04:36 · 469 阅读 · 0 评论 -
C++ Primer第五版_第七章习题答案(11~20)
封装隐藏了具体的实现,当我们使用某个抽象数据类型时,只需要考虑它提供什么接口操作,而不用去考虑它的具体实现。在类的定义中对于访问说明符出现的位置和次数有限定吗?在类的定义中对于访问说明符出现的位置和次数没有限定。每个访问说明符指定了接下来的成员的访问级别,其有效范围直到出现下一个访问说明符或者达到类的结尾处为止。在你的Person 类中,你将把哪些成员声明成public 的?解释你这样做的原因。:与当前类有关的接口函数能直接访问类的私有变量。友元在什么时候有用?为你的 Person 类添加正确的构造函数。原创 2023-03-28 22:37:30 · 601 阅读 · 0 评论 -
C++ Primer第五版_第七章习题答案(1~10)
使用string对象存放这些元素,接下来的练习将不断充实这个类的其他特征。read 函数的返回值是 istream 对象,if语句中条件部分的作用是从输入流中读取数据给两个data对象。曾在2.6.2节的练习中编写了一个Sales_data类,请向这个类添加combine函数和isbn成员。为什么read函数将其Sales_data参数定义成普通的引用,而print函数将其参数定义成常量引用?使用2.6.1节定义的Sales_data类为1.6节的交易处理程序编写一个新版本。应该是const的。原创 2023-03-28 22:11:26 · 463 阅读 · 0 评论 -
C++ Primer第五版_第六章习题答案(51~56)
编写函数f的4版本,令其各输出一条可以区分的消息。验证上一个练习的答案,如果你的回答错了,反复研究本节内容直到你弄清自己错在何处。编写函数的声明,令其接受两个int形参并返回类型也是int;然后声明一个vector对象,令其元素是指向该函数的指针。在上一题创建的vector对象中保存指向这些函数的指针。说明下列每组声明中的第二条语句会产生什么影响,并指出哪些不合法(如果有的话)。顶层const不影响传入函数的对象。调用上述vector对象中的每个元素并输出结果。请指出下列调用中每个类型转换的等级。原创 2023-03-26 21:45:53 · 180 阅读 · 0 评论 -
C++ Primer第五版_第六章习题答案(41~50)
改写6.3.2节练习中使用递归输出vector内容的程序,使其有条件地输出与执行过程有关的信息。已知有第217页对函数 f 的声明,对于下面的每一个调用列出可行函数。如果调用不合法,是因为没有可匹配的函数还是因为调用具有二义性?给make_plural函数的第二个形参赋予默认实参’s’, 利用新版本的函数输出单词success和failure的单数和复数形式。回顾在前面的练习中你编写的那些函数,它们应该是内联函数吗?下面的哪个调用是非法的?将6.2.2节的isShorter函数改写成内联函数。原创 2023-03-26 21:37:48 · 419 阅读 · 0 评论 -
C++ Primer第五版_第六章习题答案(31~40)
为上一题的函数再写三个声明,一个使用类型别名,另一个使用尾置返回类型,最后一个使用decltype关键字。编写一个函数声明,使其返回数组的引用并且该数组包含10个string对象。当返回的引用的对象是局部变量时,返回的引用无效;当我们希望返回的对象被修改时,返回常量的引用无效。在调用factorial 函数时,为什么我们传入的值是 val-1 而非 val–?如果传入的值是 val–,那么将会永远传入相同的值来调用该函数,递归将永远不会结束。如果合法,说明其功能;修改arrPtr函数,使其返回数组的引用。原创 2023-03-26 21:31:58 · 457 阅读 · 0 评论 -
C++ Primer第五版_第六章习题答案(21~30)
编写一个函数,令其接受两个参数:一个是int型的数,另一个是int指针。函数比较int的值和指针所指的值,返回较大的那个。在该函数中指针的类型应该是什么?编写一个函数,它的参数是initializer_list类型的对象,函数的功能是计算列表中所有元素的和。参考本节介绍的几个print函数,根据理解编写你自己的版本。在error_msg函数的第二个版本中包含ErrCode类型的参数,其中循环内的elem是什么类型?编译第200页的str_subrange函数,看看你的编译器是如何处理函数中的错误的。原创 2023-03-24 21:24:17 · 440 阅读 · 0 评论 -
C++ Primer第五版_第六章习题答案(11~20)
说明find_char 函数中的三个形参为什么是现在的类型,特别说明为什么s是常量引用而occurs是普通引用?假设 T 是某种类型的名字,说明以下两个函数声明的区别:一个是void f(T), 另一个是 void f(&T)。如果形参应该是常量引用,而我们将其设为了普通引用,那么常量实参将无法作用于普通引用形参。如果形参应该是常量引用,而我们将其设为了普通引用,会发生什么情况?举一个形参应该是引用类型的例子,再举一个形参不能是引用类型的例子。为下面的函数编写函数声明,从给定的名字中推测函数具备的功能。原创 2023-03-24 21:13:10 · 376 阅读 · 0 评论 -
C++ Primer第五版_第六章习题答案(1~10)
编写你自己的fact.cc 和factMain.cc ,这两个文件都应该包含上一小节的练习中编写的 Chapter6.h 头文件。编写一个函数,使用指针形参交换两个整数的值。在代码中调用该函数并输出交换后的结果,以此验证函数的正确性。编写一个与用户交互的函数,要求用户输入一个数字,计算生成该数字的阶乘。编写一个名为Chapter6.h 的头文件,令其包含6.1节练习中的函数声明。编写一个函数,当它第一次被调用时返回0,以后每次被调用返回值加1。实参是函数调用的实际值,是形参的初始值。原创 2023-03-23 21:54:50 · 295 阅读 · 0 评论 -
C++ Primer第五版_第五章习题答案(21~25)
修改上一题的程序,使用try语句块去捕获异常。catch子句应该为用户输出一条提示信息,询问其是否输入新数并重新执行try语句块的内容。修改你的程序,使得当第二个数是0时抛出异常。先不要设定catch子句,运行程序并真的为除数输入0,看看会发生什么?本节的最后一个例子跳回到 begin,其实使用循环能更好的完成该任务,重写这段代码,注意不再使用goto语句。编写一段程序,从标准输入读取两个整数,输出第一个数除以第二个数的结果。修改5.5.1节练习题的程序,使其找到的重复单词必须以大写字母开头。原创 2023-03-23 21:29:27 · 160 阅读 · 0 评论 -
C++ Primer第五版_第五章习题答案(1~10)
我们之前实现的统计元音字母的程序存在一个问题:如果元音字母以大写形式出现,不会被统计在内。编写一段程序,既统计元音字母的小写形式,也统计元音字母的大写形式,也就是说,新程序遇到’a’和’A’都应该递增 aCnt 的值,以此类推。使用逗号运算符重写1.4.1节的 while 循环,使它不再需要块,观察改写之后的代码可读性提高了还是降低了。如果在程序的某个地方,语法上需要一条语句但是逻辑上不需要,此时应该使用空语句。如果在程序的某个地方,语法上需要一条语句,而逻辑上需要多条语句,此时应该使用块。原创 2023-03-22 22:09:14 · 641 阅读 · 0 评论 -
C++ Primer第五版_第五章习题答案(11~20)
为了实现这一目标,对于两个不等长的vector对象,只需挑出长度较短的那个,把它的所有元素和另一个vector对象比较即可。例如,如果两个vector对象的元素分别是0、1、1、2 和 0、1、1、2、3、5、8,则程序的返回结果为真。编写一段程序,从标准输入中读取若干string对象并查找连续重复出现的单词,所谓连续重复出现的意思是:一个单词后面紧跟着这个单词本身。编写一段程序,从标准输入中读取string对象的序列直到连续出现两个相同的单词或者所有的单词都读完为止。说明下列循环的含义并改正其中的错误。原创 2023-03-22 22:21:27 · 454 阅读 · 0 评论 -
C++ Primer第五版_第四章习题答案(31~38)
如果 someValue的值为真,x 和 y 的值都自增并返回 y 值,然后丢弃 y 值,y递减并返回 y 值。如果 someValue的值为假,x 递减并返回 x 值,然后丢弃 x 值,y递减并返回 y 值。本节的程序使用了前置版本的递增运算符和递减运算符,解释为什么要用前置版本而不用后置版本。假设 i 是int类型,d 是double类型,书写表达式 i*=d 使其执行整数类型的乘法而非浮点类型的乘法。逗号表达式的优先级是最低的。根据4.12节中的表说明下面这条表达式的含义。说明下面这条表达式的含义。原创 2023-03-21 22:06:04 · 318 阅读 · 0 评论 -
C++ Primer第五版_第四章习题答案(21~30)
假如此时 grade > 90 ,第一个条件表达式的结果是 “high pass” ,而字符串字面值的类型是 const char *,非空所以为真。如果一台机器上 int 占 32 位、char 占8位,用的是 Latin-1 字符集,其中字符’q’ 的二进制形式是 01110001,那么表达式’q’原创 2023-03-21 22:00:02 · 541 阅读 · 1 评论 -
C++ Primer第五版_第四章习题答案(11~20)
假设 ptr 的类型是指向 int 的指针、vec 的类型是vector、ival 的类型是int,说明下面的表达式是何含义?首先得到 j < k 的结果为 true 或 false,转换为整数值是 1 和 0,然后判断 i 不等于 1 和 0 ,最终的结果为 bool 值。如果合法,表达式的含义是什么?如果不合法,错在何处?书写一条表达式用于测试4个值a、b、c、d的关系,确保a大于b、b大于c、c大于d。尽管下面的语句合法,但它们实际执行的行为可能和预期并不一样,为什么?下面的赋值是非法的,为什么?原创 2023-03-20 21:22:23 · 474 阅读 · 2 评论 -
C++ Primer第五版_第四章习题答案(1~10)
C++的设计思想是尽可能地“相信”程序员,将效率最大化。然而这种思想却有着潜在的危害,就是无法控制程序员自身引发的错误。因此 Java 的诞生也是必然,Java的思想就是尽可能地“不相信”程序员。在下面的表达式中添加括号,说明其求值过程及最终结果。编写程序编译该(不加括号的)表达式并输出结果验证之前的推断。根据4.12节中的表,在下述表达式的合理位置添加括号,使得添加括号后运算对象的组合顺序与添加括号前一致。当计算的结果超出该类型所能表示的范围时就会产生溢出。解释在下面的if语句中条件部分的判断过程。原创 2023-03-20 21:11:55 · 325 阅读 · 0 评论 -
C++ Primer第五版_第三章习题答案(41~45)
编写3个不同版本的程序,令其均能输出ia的元素。版本1使用范围for语句管理迭代过程;版本2和版本3都使用普通for语句,其中版本2要求使用下标运算符,版本3要求使用指针。此外,在所有3个版本的程序中都要直接写出数据类型,而不能使用类型别名、auto关键字和decltype关键字。编写一段程序,将含有整数元素的vector对象拷贝给一个整型数组。改写上一个练习中的程序,使用类型别名来代替循环控制变量的类型。编写一段程序,用整型数组初始化一个vector对象。再一次改写程序,这次使用auto关键字。原创 2023-03-17 18:01:14 · 122 阅读 · 0 评论 -
C++ Primer第五版_第三章习题答案(31~40)
将两个指针相减可以表示两个指针(在同一数组中)相距的距离,将指针加上一个整数也可以表示移动这个指针到某一位置。但是两个指针相加并没有逻辑上的意义,因此两个指针不能相加。在本节中我们提到,将两个指针相加不但是非法的,而且也没有什么意义。假定p1 和 p2 都指向同一个数组中的元素,则下面程序的功能是什么?再编写一段程序,比较两个C风格字符串的内容。编写一段程序,定义一个含有10个int的数组,令每个元素的值就是其下标值。编写一段程序,利用指针将数组中的元素置为0。下面的程序是何含义,程序的输出结果是什么?原创 2023-03-17 17:53:16 · 624 阅读 · 0 评论 -
C++ Primer第五版_第三章习题答案(21~30)
编写一段程序,创建一个含有10个整数的vector对象,然后使用迭代器将所有元素的值都变成原来的两倍。sa 的元素值全部为空字符串,ia 的元素值全部为0。sa2 的元素值全部为空字符串,ia2 的元素值全部未定义。3.3.3节划分分数段的程序是使用下标运算符实现的,请利用迭代器改写该程序实现完全相同的功能。修改之前那个输出text第一段的程序,首先把text的第一段全部改成大写形式,然后输出它。意思是相距若干个元素,将之除以2然后与beg相加,表示将beg移动到一半的位置。下列数组中元素的值是什么?原创 2023-03-17 11:44:49 · 428 阅读 · 0 评论 -
C++ Primer第五版_第三章习题答案(11~20)
读入一组整数并把他们存入一个vector对象,将每对相邻整数的和输出出来。改写你的程序,这次要求先输出第一个和最后一个元素的和,接着输入第二个和倒数第二个元素的和,以此类推。要根据for循环中的代码来看是否合法,c是string 对象中字符的引用,s是常量。因此如果for循环中的代码重新给c赋值就会非法,如果不改变c的值,那么合法。对于不正确的,说明其错误的原因。如果想定义一个含有10个元素的vector对象,所有元素的值都是42,请例举三种不同的实现方法,哪种方式更好呢?如果合法,c的类型是什么?原创 2023-03-17 09:53:26 · 582 阅读 · 0 评论 -
C++ Primer第五版_第三章习题答案(1~10)
如果不相等,输出比较大的那个字符串。改写上述程序,比较输入的两个字符串是否等长,如果不等长,输出长度较大的那个字符串。编写一段程序从标准输入中读入多个字符串并将他们连接起来,输出连接成的大字符串。然后修改上述程序,用空格把输入的多个字符串分割开来。就上一题完成的程序而言,如果将循环控制的变量设置为char将发生什么?编写一段程序,读入一个包含标点符号的字符串,将标点符号去除后输出字符串剩余的部分。编写一段程序从标准输入中一次读入一行,然后修改该程序使其一次读入一个词。使用下标访问空字符串是非法的行为。原创 2023-03-16 22:26:02 · 344 阅读 · 0 评论 -
C++ Primer第五版_第二章习题答案 变量和基本类型
(a): 应该先定义再使用。(b): 用列表初始化内置类型的变量时,如果存在丢失信息的风险,则编译器将报错。©: 在这里 wage 是未定义的,应该在此之前将其定义。(d): 不报错,但是小数部分会被截断。练习2.10:下列变量的初值分别是什么?int main()(a): 定义(b): 定义©: 声明练习2.12:请指出下面的名字中哪些是非法的?(b) int _;(a)合法;(b)不合法,引用类型的初始值必须是一个对象;(c)合法;原创 2023-03-15 22:18:46 · 881 阅读 · 0 评论 -
C++ Primer第五版_第一章习题答案
如果没有重复输出,输入与前个不同的数即打印一行,Ctrl+d后,才输出最后一行统计的个数。练习1.19:修改你为1.4.1节练习1.11(第11页)所编写的程序(打印一个范围内的数),使其能处理用户输入的第一个数比第二个数小的情况。预测编译这些语句会产生什么样的结果,实际编译这些语句来验证你的答案(编写一个小程序,每次将上述一条语句作为其主体),改正每个编译错误。练习1.17:如果输入的所有值都是相等的,本节的程序会输出什么?练习1.7:编译一个包含不正确的嵌套注释的程序,观察编译器返回的错误信息。原创 2023-03-14 21:11:07 · 910 阅读 · 0 评论 -
什么时候用std::move()?
在第一个版本中,您读写 3*n 个元素,在第二个版本中,您基本上只读写指向向量缓冲区的 3 个指针,加上 3 个缓冲区的大小。” 好吧,如果您正在编写应用程序代码,您可能不会对编译器创建的临时对象进行大量处理。典型的用途是将资源从一个对象“移动”到另一个对象而不是复制。下面是一个简单明了的简短示例:用更少的复制交换两个对象。换句话说,当您使用 std::move(x) 时,您允许编译器蚕食 x。你可以掠夺我,移动我持有的任何东西并在别处使用它(因为我很快就会被摧毁)”。之后,编译器可以让另一个对象拥有它。原创 2023-02-25 16:23:21 · 561 阅读 · 0 评论 -
优秀开源工程C++
优秀开源工程原创 2022-04-30 16:50:07 · 1392 阅读 · 0 评论 -
设计模式(单一职责)——桥模式
装饰者模式:让抽象与实现相分离,让两者都能各自变化。模拟毛笔:现需要提供大中小3种型号的画笔,能够绘制5种不同颜色,如果使用蜡笔,我们需要准备3*5=15支蜡笔,也就是说必须准备15个具体的蜡笔类。而如果使用毛笔的话,只需要3种型号的毛笔,外加5个颜料盒,用3+5=8个类就可以实现15支蜡笔的功能。实际上,蜡笔和毛笔的关键一个区别就在于笔和颜色是否能够分离。即将抽象化(Abstraction)与实原创 2017-06-14 13:49:04 · 827 阅读 · 0 评论 -
C++每日一练(STL算法——copy)
一、今日课题sort二、实战演练 如果要把一个序列(sequence)拷贝到一个容器(Container)中去,通常用std::copy算法,代码如下: std::copy(start, end, std::back_inserter(container));1)有何用?用于容器之间元素的拷贝,即将迭代器区间[first,last)的元素复制到由复制目标result给定的区间[resul原创 2016-11-07 18:23:57 · 516 阅读 · 0 评论 -
C++书单
手册类 – 所有级别皆适用:C++程序设计语言(The C++ Programming Language) 作者:Bjarne Stroustrup(更新到C++11)C++ 之父写的经典 C++ 书籍。内容覆盖C++的所有东西,从语言内核到标准库、编程范式和语言哲学。2013年5月出版的第四版涵盖了 C++11 的内容。C++标准程序库(C++ Standard Library Tutorial and Reference) 作者:Nicolai Josuttis (更新到C++11)原创 2021-12-12 16:02:36 · 552 阅读 · 2 评论 -
C++每日一练(STL_Queue)
一、今日课题queue二、实战演练 队列(Queue)是一个容器适配器(Container adaptor)类型,被特别设计用来运行于FIFO(First-in first-out)场景,在该场景中,只能从容器一端添加(Insert)元素,而在另一端提取(Extract)元素。1)有何用?queue 提供了一系列成员函数用于操作它的元素,只能从容器“后面”压进(Push)元素,从容器“前面”提原创 2016-10-08 16:36:52 · 610 阅读 · 0 评论 -
C++每日一练(new/delete)
一、今日课题new/delete二、实战演练 用于动态分配和撤销内存的运算符1)有何用?当你希望在函数调用结束前销毁对象2)怎么用?使用new表达式使用delete表达式实战演练#include <iostream>using namespace std;class ClassA{ int x;public: ClassA(int x) { this->x = x; }原创 2016-10-19 17:27:57 · 397 阅读 · 0 评论 -
设计模式(组件协作)——模板方法
模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。用我自己的话讲,就是写文章,找到了一个模板,然后对着抄写。标题什么的不允许改变,该怎样就是怎样,具体到某个不同的部分,再自由发挥。再通俗易懂点,哥们儿,你只能遵从这个游戏规则,你翻不出老子的五指山,哇哈哈哈!有没有中宿命论的赶脚,不过,在这个快速消费的时代原创 2017-06-08 13:55:36 · 487 阅读 · 0 评论 -
设计模式(状态变化)——状态模式
状态模式:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。场景还原(地铁口):地铁入口处,如果你放入正确的地铁票,门就会打开让你通过。在出口处也是验票,如果正确你就可以 ok,否则就不让你通过(如果你动作野蛮,或许会有报警(Alarm))。有限状态自动机(FSM)也是一个典型的状态不同,对输入有不同的响应(状态转移)。通常我们在实现这类系统会使用到很多的 Switch/Case原创 2017-06-23 11:41:14 · 491 阅读 · 0 评论 -
C++每日一练(STL算法——sort)
一、今日课题sort二、实战演练 default (1) template <class RandomAccessIterator>void sort (RandomAccessIterator first, RandomAccessIterator last); custom (2)template <class RandomAccessIterator, class Compa原创 2016-10-27 19:20:13 · 601 阅读 · 0 评论 -
C++每日一练(STL算法——remove)
一、今日课题remove二、实战演练template <class ForwardIterator, class T> ForwardIterator remove (ForwardIterator first, ForwardIterator last, const T& val);1)有何用?Transforms the range [first,last) into a range wi原创 2016-11-08 17:28:55 · 495 阅读 · 0 评论