++Z++
码龄5年
  • 1,969
    被访问
  • 19
    原创
  • 238,144
    排名
  • 0
    粉丝
  • 0
    铁粉
关注
提问 私信
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2017-04-17
博客简介:

qq_38359705的博客

查看详细资料
  • 3
    领奖
    总分 200 当月 0
个人成就
  • 获得0次点赞
  • 内容获得0次评论
  • 获得0次收藏
创作历程
  • 19篇
    2021年
成就勋章
TA的专栏
  • C++ Primer 第5版 学习笔记
    19篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

第 19 章 特殊工具与技术

练习 19.1:#include<iostream>#include<cstdlib>using namespace std;void* operator new(size_t size){ if (void* mem = malloc(size)) { cout << "operator new" << endl; return mem; } else throw bad_alloc();}void operator
原创
发布博客 2021.12.11 ·
121 阅读 ·
0 点赞 ·
0 评论

第 18 章 用于大型程序的工具

练习 18.1:(a):异常对象的类型是range_error。(b):异常对象的类型是exception。如果将(b)中的throw语句写成throw p,将会出现运行时错误。throw *p被抛出的异常对象是对指针p解引用的结果。若写成throw p,则抛出的异常对象是exception*类型。练习 18.2:指针p不会被释放,造成内存泄漏。练习 18.3:class intArray{public: intArray(size_t n): p(new int[n]) {
原创
发布博客 2021.12.10 ·
27 阅读 ·
0 点赞 ·
0 评论

第 17 章 标准库特殊设施

练习 17.1:tuple<int, int, int> threeInt( 10,20,30 );练习 17.2:tuple<string, vector<string>, pair<string, int>> t;练习 17.3:#ifndef EX17_3_H#define EX17_3_H#include<iostream>#include<fstream>#include<vector
原创
发布博客 2021.12.08 ·
16 阅读 ·
0 点赞 ·
0 评论

第 16 章 模板与泛型编程

练习 16.1:编译器处理过程,用实际的模板实参来生成模板的一个特殊实例,其中参数被替换为对应的实参。练习 16.2:#include<iostream>#include<functional>#include<cstring>using namespace std;template<typename T>int compare(const T& v1, const T& v2){ if (less<T>
原创
发布博客 2021.12.02 ·
32 阅读 ·
0 点赞 ·
0 评论

第 15 章 面向对象程序设计

练习 15.1:
原创
发布博客 2021.11.27 ·
116 阅读 ·
0 点赞 ·
0 评论

第 14 章 操作符重载与类型转换

练习 14.1:区别:如果一个运算符函数是成员函数,则它的第一个运算对象绑定到隐式的this指针上,因此,成员运算符函数的参数数量比运算符的运算对象总数少一个。 重载运算符函数,或者是类的成员,或者至少含有一个类类型的参数。 重载运算符不保证运算对象的求值顺序,例如对&&和||的重载版本不再具有“短路求值”的特性,两个操作数都要求值,而且不规定操作数的求值顺序。相同点:重载运算符与对应的内置操作符具有相同的优先级和结合律。练习 14.2:#ifndef EX14_
原创
发布博客 2021.11.23 ·
53 阅读 ·
0 点赞 ·
0 评论

第 13 章 拷贝控制

练习 13.1:如果一个构造函数的第一个参数是自身类类型的引用,且任何额外参数都有默认值,则此构造函数是拷贝构造函数;使用=定义变量 将一个对象作为实参传递给一个非引用类型的形参 从一个返回类型为非引用的函数返回一个对象 用花括号列表初始化一个数组中的元素或一个聚合类中的成员 某些类类型还会对它们所分配的对象使用拷贝初始化。练习 13.2:拷贝构造函数自己的参数必须是引用类型。如果其参数不是引用类型,则调用永远也不会成功——为了调用拷贝构造函数,我们必须...
原创
发布博客 2021.11.21 ·
151 阅读 ·
0 点赞 ·
0 评论

第 12 章 动态内存

练习 12.1:b1和b2共享一个StrBlob对象,b2被销毁,但b2中的元素没有被销毁,所以他们都有4个元素;练习 12.2:#include<iostream>#include<string>#include<vector>#include<memory>#include<initializer_list>using namespace std;class StrBlob{public: typedef ve
原创
发布博客 2021.11.17 ·
12 阅读 ·
0 点赞 ·
0 评论

第 11 章 关联容器

练习 11.1:map是关键字-值对的集合。我们可以通过关键字有效地查找值。 vector是对象的集合,每个对象都有一个关联的索引,该索引允许访问该对象。练习 11.2:list: 一个待办事项清单。总是需要在任何地方插入或删除元素。 vector:保存一些重要的关联数据,总是需要按索引查询元素。 deque:消息处理。FIFO。 map:字典。 set:空头支票。练习 11.3#include<iostream>#include<string>...
原创
发布博客 2021.11.16 ·
10 阅读 ·
0 点赞 ·
0 评论

第 10 章 泛型算法

练习 10.1 && 练习 10.2#include<iostream>#include<vector>#include<list>#include<algorithm>using namespace std;int main(){ vector<int> iv = { 3,2,3,4,3,5 }; cout << count(iv.begin(), iv.end(), 3) << e
原创
发布博客 2021.11.15 ·
600 阅读 ·
0 点赞 ·
0 评论

第 9 章 顺序容器

练习 9.1:(a)list较好,涉及到可能在中间插入的操作(b)deque较好,因为涉及到在头部删除,末尾插入的操作,都是在两端进行。(c)vector较好,没有更好的选择。练习 9.2:list<deque<int>> l练习 9.3:迭代器begin和end必须指向相同的容器。end可以与begin指向相同的位置,但不能指向begin之前的位置。练习 9.4:#include<iostream>#inc...
原创
发布博客 2021.11.13 ·
10 阅读 ·
0 点赞 ·
0 评论

第 8 章 IO类

练习8.1 && 练习8.2:#include<iostream>#include<string>using namespace std;istream& func(istream& is){ string str; while (is >> str) cout << str << endl; is.clear(); return is;}int main() { istream
原创
发布博客 2021.11.08 ·
13 阅读 ·
0 点赞 ·
0 评论

第 7 章 类

练习7.1:#include<iostream>#include<string>using namespace std; // Sale_data类struct Sale_data{ string bookNo; unsigned units_sold = 0; double revenue = 0.0; void AddData(Sale_data data); void SetData(Sale_data data);
原创
发布博客 2021.11.08 ·
16 阅读 ·
0 点赞 ·
0 评论

第 6 章 函数

练习6.1:形参:在函数形参表中声明的局部变量。它们由每个函数调用中提供的参数初始化。实数:函数调用中提供的值,用于初始化函数的形参。练习6.2:// (a)string f() { string s; // ... return s;}// (b)void f2(int i) { /* ... */ }// (c)int calc(int v1, int v2) { /* ... */ }// (d)double square(double x) {
原创
发布博客 2021.11.06 ·
17 阅读 ·
0 点赞 ·
0 评论

第 5 章 语句

练习练习5.4:// iter指向nullptr,无效。while (string::iterator iter != s.end()) { /* . . . */ }// 正确:string::iterator iter = s.begin();while (iter != s.end()) { /* . . . */ }// if语句不在while语句块中,所以status是无效的。while (bool status = find(word)) { /* . . . */ }
原创
发布博客 2021.11.05 ·
302 阅读 ·
0 点赞 ·
0 评论

第 4 章 表达式

练习练习4.6:i % 2 == 0 ? "even" : "odd";练习4.7: 当计算的结果超出该类型所能表示的范围就会产生溢出:short svalue = 32767; ++svalue; // -32768int ivalue = 2147483647; ++ivalue; // -2147483648unsigned uivalue = 0; --uivalue; // 4294967295练习4.8:逻辑与运算符和OR运算符总是...
原创
发布博客 2021.11.05 ·
50 阅读 ·
0 点赞 ·
0 评论

第3章 字符串、向量和数组

目录3.1 命名空间的using声明3.2 标准库类型string3.2.1 定义和初始化string对象3.2.2 string对象上的操作3.2.3 处理string对象中的字符3.3 标准库类型vector3.3.1 定义和初始化vector3.3.2 向vector对象中添加元素3.3.3 其他vector操作3.4 迭代器介绍3.4.1 使用迭代器3.4.2 迭代器运算3.5 数组3.5.1 定义和初始化数组3.5.2 访问数组元素3
原创
发布博客 2021.11.04 ·
22 阅读 ·
0 点赞 ·
0 评论

第2章 变量和基本类型

目录2.1 基本内置类型2.1.1 算数类型2.1.2 类型转换2.1.3 字面值常量2.2 变量2.2.1 变量的定义2.2.2 变量声明和定义的关系2.2.3 标识符2.2.4 名字的作用域2.3 复合类型2.3.1 引用2.3.2 指针2.3.3 理解复合类型的声明2.4 const 限定符2.4.1 const的引用2.4.2 指针和const2.4.3 顶层const2.4.4 constexpr和常量表达式2.5 处理类
原创
发布博客 2021.11.03 ·
207 阅读 ·
0 点赞 ·
0 评论

第1章 开始

1.函数的定义:返回类型(return type)、函数名(function name)、形参列表(parameter,允许为空)和函数体(function body)。2.c++程序必须包含一个main函数。main函数的返回值必须为int。// int为返回类型,main为函数名,小括号包围的是可以为空的形参列表int main(){ // 大括号包围的是函数体 return 0; // 返回值}...
原创
发布博客 2021.11.03 ·
168 阅读 ·
0 点赞 ·
0 评论
加载更多