【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(第三版)》的一些疑问(不断更新)相关推荐

  1. C++ Primer 第三版 读书笔记

    1.如果一个变量是在全局定义的,系统会保证给它提供初始化值0.如果变量是局部定义的,或是通过new表达式动态分配的,则系统不会向它提供初始值0 2.一般定义指针最好写成:" string * ...

  2. 《JavaScript高级程序设计(第三版)》读后感--持续更新

    目录 第一章  JavaScript简介 1,诞生 2,JavaScript实现 2.1核心(ECMAScript) 2.2文档对象模型(DOM) 2.3浏览器对象模型(BOM) 作为一名入行不久的技 ...

  3. 从《C++ Primer 第四版》入手学习 C++

    从<C++ Primer 第四版>入手学习 C++ 为什么要学习C++? 2009 年本书作者 Stan Lippman 先生来华参加上海祝成科技举办的C++技术大会,他表示人们现在还用C ...

  4. C++Primer第5版学习笔记(三)

    C++Primer第5版学习笔记(三) 第四/五章的重难点内容 你可以点击这里回顾第三章内容       因为第五章的内容比较少,因此和第四章的笔记内容合并.       第四章是和表达式有关的知识, ...

  5. 读《数据挖掘技术(第三版)》-应用于市场营销,销售与客户关系管理 有感

    读<数据挖掘技术(第三版)>-应用于市场营销,销售与客户关系管理 有感 这本书不是纯讲数据挖掘理论的书,从本书的副标题你大概也能猜得到.对于像我这样数据挖掘领域的门外汉,读起这本书也没有多 ...

  6. visual basic从入门到精通第三版cd_C++从零到精通,这才是你需要的书单!

    前言: 这篇文章实际上是我自己入门过程的总结,一个尽量少废话的C++入门指南.总结完忽然发现像个读书清单 . 文章最后有福利~记得看完 技术书阅读方法论 一.速读一遍(最好在1~2天内完成) 人的大脑 ...

  7. C++Primer第5版学习笔记(一)

    C++Primer第5版学习笔记(一) 第一.二章的重难点内容        这个笔记本主要记录了我在学习C++Primer(第5版,中文版)的过程中遇到的重难点及其分析.因为第一.二章都比较简单,因 ...

  8. 编译原理第三版清华pdf_清华网络科学与网络空间研究院考研经验分享

    清华网络科学与网络空间研究院考研经验分享 盛世清北,清北硕博摇篮,专注清华北大考研辅导近十年,盛世清北-北京大学考研辅导班开设清华土木工程考研辅导系列课程.上清华北大,就上盛世清北! 考试科目 参考书 ...

  9. 《C++Primer 第五版》——第八章 IO 库

    <C++Primer 第五版>--第八章 IO 库 8.1 IO 类 IO 类型间的关系 8.1.1 IO 对象无拷贝或赋值 8.1.2 条件状态 查询流的状态 管理条件状态 8.1.3 ...

  10. c++ primer 第五版 翻译 第一章

    许久未更新博客了,接下来更新的是c++ primer 第五版的翻译. 一来学习英语,二来巩固c++. 第一章开始 内容: 1.1写一个简单的c++程序 1.2初窥输入输出 1.3注释简介 1.4控制流 ...

最新文章

  1. java tree json_treePanel json java后台
  2. linux http 配置文件,Linux http配置文件解析
  3. CTF web题总结--上传文件绕过
  4. java继承和派生4.4- 4.52020.3.24
  5. 员工薪酬管理设计方案
  6. 用table展示树形结构数据_复习一下数据结构(二)——2.2 树形索引(23树)
  7. 三端食堂售饭管理系统
  8. RiruEdxposed学习研究(四)Magisk(面具)源码下载编译详细实战教程
  9. int范围内数字的英文读法
  10. cogs——2098. Asm.Def的病毒
  11. Altium Designer笔记之有效低信号的顶线
  12. XILINX封装FBG与FFG区别
  13. 小程序疑难杂症破解(一)
  14. 怎么计算机械加工产能,生产计划人员如何计算一个工厂生产产能?..doc
  15. 卖家中心html素材,天猫素材中心入口和使用方法
  16. 如何将CSDN文章内容转成PDF
  17. c语言之 俄罗斯方块源程序代码
  18. 项目管理翻译词汇补充
  19. Python实现http基本认证(BASIC AUTHENTICATION)
  20. Manjaro无法启动?别急,试试grub 命令加载系统。

热门文章

  1. linux内核那些事之ZONE
  2. 并行计算的一些思考与总结
  3. 二值化图像是什么?图像如何二值化?
  4. 深度学习logit是什么?
  5. pix2pix损失函数理解(精)
  6. 深度残差收缩网络:(一)背景知识
  7. webserver之使用数组实现阻塞队列
  8. java 指针 地址压缩_JVM优化之压缩普通对象指针(CompressedOops)
  9. 生日快乐程序员的浪漫代码_python告白代码,只属于程序员的浪漫
  10. link标签引入.css文件(目的):适配不同屏幕