C++ Primer 中文版 5th Edition 练习15.8和练习15.9的解答

练习15.8:给出静态类型和动态类型的定义。

答: 静态类型:是变量声明时的类型,或者是表达式生成的类型,这样的类型在编译时已知。

动态类型:是变量或者表达式表示的内存中的对象的类型,直到运行时才可知。

练习15.9:在什么情况下表达式的静态类型可能与动态类型不同?请给出三个静态类型与动态类型不同的例子。

答:第一种:函数形参是基类的引用(静态类型),调用函数时,传递的实参为派生类的对象(动态类型)

第二种:函数形参是基类的指针(静态类型),调用函数时,传递的实参为派生类的指针(动态类型)

第三种:函数形参是基类的指针(静态类型),调用函数时,传递的实参为派生类的对象的引用(动态类型)

时间: 2024-08-07 21:19:23

C++ Primer 中文版 5th Edition 练习15.8和练习15.9的解答的相关文章

【Cracking the Code Interview(5th edition)】一、数组与字符串(C++)

1.1 实现一个算法,确定一个字符串的所有字符是否全都不同.不允许使用额外的数据结构. 解答:这里假定字符集为ASCII码,可以与面试官沟通确认字符串使用的字符集.由于字符集是有限的,建立一个数组模拟的Hash表记录每个字符是否出现,线性扫描一次字符串即可,复杂度O(len(s)).如果字符集较大,需要考虑空间开销,则可以用bitset来实现. 1 bool isUnique(string s) { 2 bool record[256]; 3 memset(record, 0, sizeof(r

c++经典的教程:《C++ Primer中文版》(第4版)

<C++ Primer中文版>(第4版)    [原书名] C++ Primer (4th Edition)    [原出版社] Addison Wesley/Pearson    [作者] (美)Stanley B.Lippman,Josée LaJoie,Barbara E.Moo    [译者] 李师贤    [丛书名] 图灵计算机科学丛书    [出版社]人民邮电出版社    本书是久负盛名的C++经典教程,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标

C++ Primer中文版 (第5版)pdf

下载地址:网盘下载 C++ Primer中文版 (第5版)是久负盛名的 C 经典教程,时隔八年之久,终于迎来重大升级.除令全球无数程序员从中受益,甚至为之迷醉的--C 大师 Stanley B. Lippman 的丰富实践经验,C 标准委员会原负责人 Josée Lajoie 对C 标准的深入理解,以及C 先驱 Barbara E. Moo 在 C 教学方面的真知灼见外,更是基于全新的 C 11标准进行了全面而彻底的内容更新.非常难能可贵的是,<C Primer 中文版(第5版)>所有示例均全

《C++ Primer(中文版)(第5版)》斯坦利&#183;李普曼 (Stanley B. Lippman) (作者), 约瑟&#183;拉乔伊 (Josee Lajoie) (作者), 芭芭拉&#183;默 (Barbara E. Moo) (作者) azw3

内容简介: 这本久负盛名的C++经典教程,时隔八年之久,终迎来的重大升级.除令全球无数程序员从中受益,甚至为之迷醉的--C++ 大师 Stanley B. Lippman 的丰富实践经验,C++标准委员会原负责人Josée Lajoie 对C++标准的深入理解,以及C++ 先驱 Barbara E.Moo在C++教学方面的真知灼见外,更是基于全新的C++11标准进行了全面而彻底的内容更新.非常难能可贵的是,<C++ Primer中文版(第5版)>所有示例均全部采用C++11标准改写,这在经典升

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

- 14.4 exportfs命令 - 14.5 NFS客户端问题 - 15.1 FTP介绍 - 15.2/15.3 使用vsftpd搭建ftp # 14.4 exportfs命令 - exportfs命令 和NFS一起安装的 例: - 配置了一个共享目录,之后需要新增.更改.机器或者目录:首先需要更改配置,重启NFS服务,但是远程客户端正在使用NFS服务,重启服务端的NFS服务就会对远程的客户端有影响,比如,造成服务异常,进程异常,有很大可能导致系统坏掉 - 到了这种时候,只能去一台一台机器的

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3

14.4 exportfs命令由于配置了no_root_squash的权限所以有如下结果: 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp 原文地址:http://blog.51cto.com/13227377/2130425

【Cracking the Code Interview(5th edition)】二、链表(C++)

链表结点类型定义: 1 class Node { 2 public: 3 int data = 0; 4 Node *next = nullptr; 5 6 Node(int d) { 7 data = d; 8 } 9 }; 快行指针(runner)技巧: 同时使用两个指针来迭代访问链表,其中一个比另一个超前一些.快指针比慢指针先行几步或者快指针与慢指针的速度呈一定的关系. dummy元素技巧: 在链表头部添加一个哑结点,通常可以简化首部或尾部的特殊情况的处理. 2.1 编写代码,移除未排序链

[转载]Vector用法(C++ Primer中文版)

转自:http://blog.sciencenet.cn/blog-261330-551086.html vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值.和 string 对象一样,标准库负责管理存储元素的相关内存.我们把 vector称为 容器,是因为它可以包含其他对象.一个容器中的所有对象都必须是同一种类型的.我们将在第 9 章更详细地介绍容器. 使用 vector 之前,必须包含相应的头文件.本书给出的例子,都是假设已作了相应的 using 声明: #includ

C++ Primer中文版(第五版)——第六章 函数

6.1函数基础 一个典型的函数定义包括以下几个部分:返回类型(return type).函数名字.由0个或多个形参组成的参数列表以及函数体.其中,形参以逗号隔开,形参的列表位于一对圆括号之内.函数执行的操作在语句块中说明,该语句块称为函数体. 我们通过调用运算符(call operator)来执行函数.调用运算符的形式是一对圆括号,它作用于一个表达式,该表达式是函数或者是指向函数的指针:圆括号之内是一个用逗号隔开的实参列表,我们用实参初始化函数的形参.调用表达式的类型就是函数的返回类型. 编写函