读《C++ Primer(第三版)》的一些疑问(不断更新)
【1】(Page94)代码:
int staff_size=27;
//错误:非const变量
double salaries[staff_size];
但是编译器并不报错?这是为什么?
解答:
用Dev C++编译能通过,但是用VS2008便报错,看来编译器很关键啊~~~~
【2】(Page104)
typedef char *cstring;
extern const cstring cstr;
请问,cstr的类型是什么?
解答:cstr是指向字符的const指针。cstring是指针类型,指向char。const修饰cstring,就是修饰指针。
【3】(Page133)代码:
//一个string的大小与它所指的字符串的长度无关;
string st1(“foobar”);
string st2(“a mighty oak”);
sizeof(st1)、sizeof(st2)都是12(具体数值和编译器有关)。
解答:
sizeof(str)返回的是一个string对象本身所占的内存的大小,不管你的string里面存储了多大的文本,这个值都是固定的。要取得string对象的长度,可以用str.length()。
【4】(Page135)下列语句哪些是非法的或错误的?
(a)vector<string> svec(10);
(b)vector<string> *pvec1=new vector<string>(10);
(c)vector<string> *pvec1=new vector<string>(10);
(d)vector <string> *pv1=&svec;
(i)delete pv1;
b和c有什么区别?各是对的还是错误的?
还有i到底是正确的还是错误的?
解答:
vector<string> *pvec1=new vector<string>(10)是分配一个vector容器,里面有10个string元素,而vector<string> *pvec1=new vector<string>(10)数组,数组含有vector <string>10个元素。
i中,是合法的,编译器无法侦测出任何错误。但其实是错误的,因为我们不能对一个“不是通过new表达式分配的指针”施以delete操作。
【5】(Page142)下列bitset对象的声明哪些是错误的?
(a)bitset<64> bitvec(32);
(d)bitset<32>bv;bitset<16> bv16(bv);
解答:
(a)正确。64是size_t的一个合法值,bitvec将使用64位中的32个。
?
【6】(Page224)下列iterator的用法哪些是错误的?
const vector<int> ivec;
vector<string> svec;
list<int> ilist;
(c)vector<string>::iterator it=&svec[0];
解答:
错误。iterator必须借由begin()来初始化,而不是借由vector的某个取值操作符来初始化。
读《C++ Primer(第三版)》的一些疑问(不断更新)相关推荐
- C++ Primer 第三版 读书笔记
1.如果一个变量是在全局定义的,系统会保证给它提供初始化值0.如果变量是局部定义的,或是通过new表达式动态分配的,则系统不会向它提供初始值0 2.一般定义指针最好写成:" string * ...
- 《JavaScript高级程序设计(第三版)》读后感--持续更新
目录 第一章 JavaScript简介 1,诞生 2,JavaScript实现 2.1核心(ECMAScript) 2.2文档对象模型(DOM) 2.3浏览器对象模型(BOM) 作为一名入行不久的技 ...
- 从《C++ Primer 第四版》入手学习 C++
从<C++ Primer 第四版>入手学习 C++ 为什么要学习C++? 2009 年本书作者 Stan Lippman 先生来华参加上海祝成科技举办的C++技术大会,他表示人们现在还用C ...
- C++Primer第5版学习笔记(三)
C++Primer第5版学习笔记(三) 第四/五章的重难点内容 你可以点击这里回顾第三章内容 因为第五章的内容比较少,因此和第四章的笔记内容合并. 第四章是和表达式有关的知识, ...
- 读《数据挖掘技术(第三版)》-应用于市场营销,销售与客户关系管理 有感
读<数据挖掘技术(第三版)>-应用于市场营销,销售与客户关系管理 有感 这本书不是纯讲数据挖掘理论的书,从本书的副标题你大概也能猜得到.对于像我这样数据挖掘领域的门外汉,读起这本书也没有多 ...
- visual basic从入门到精通第三版cd_C++从零到精通,这才是你需要的书单!
前言: 这篇文章实际上是我自己入门过程的总结,一个尽量少废话的C++入门指南.总结完忽然发现像个读书清单 . 文章最后有福利~记得看完 技术书阅读方法论 一.速读一遍(最好在1~2天内完成) 人的大脑 ...
- C++Primer第5版学习笔记(一)
C++Primer第5版学习笔记(一) 第一.二章的重难点内容 这个笔记本主要记录了我在学习C++Primer(第5版,中文版)的过程中遇到的重难点及其分析.因为第一.二章都比较简单,因 ...
- 编译原理第三版清华pdf_清华网络科学与网络空间研究院考研经验分享
清华网络科学与网络空间研究院考研经验分享 盛世清北,清北硕博摇篮,专注清华北大考研辅导近十年,盛世清北-北京大学考研辅导班开设清华土木工程考研辅导系列课程.上清华北大,就上盛世清北! 考试科目 参考书 ...
- 《C++Primer 第五版》——第八章 IO 库
<C++Primer 第五版>--第八章 IO 库 8.1 IO 类 IO 类型间的关系 8.1.1 IO 对象无拷贝或赋值 8.1.2 条件状态 查询流的状态 管理条件状态 8.1.3 ...
- c++ primer 第五版 翻译 第一章
许久未更新博客了,接下来更新的是c++ primer 第五版的翻译. 一来学习英语,二来巩固c++. 第一章开始 内容: 1.1写一个简单的c++程序 1.2初窥输入输出 1.3注释简介 1.4控制流 ...
最新文章
- java tree json_treePanel json java后台
- linux http 配置文件,Linux http配置文件解析
- CTF web题总结--上传文件绕过
- java继承和派生4.4- 4.52020.3.24
- 员工薪酬管理设计方案
- 用table展示树形结构数据_复习一下数据结构(二)——2.2 树形索引(23树)
- 三端食堂售饭管理系统
- RiruEdxposed学习研究(四)Magisk(面具)源码下载编译详细实战教程
- int范围内数字的英文读法
- cogs——2098. Asm.Def的病毒
- Altium Designer笔记之有效低信号的顶线
- XILINX封装FBG与FFG区别
- 小程序疑难杂症破解(一)
- 怎么计算机械加工产能,生产计划人员如何计算一个工厂生产产能?..doc
- 卖家中心html素材,天猫素材中心入口和使用方法
- 如何将CSDN文章内容转成PDF
- c语言之 俄罗斯方块源程序代码
- 项目管理翻译词汇补充
- Python实现http基本认证(BASIC AUTHENTICATION)
- Manjaro无法启动?别急,试试grub 命令加载系统。