博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第六章 6.5.2节练习
阅读量:2422 次
发布时间:2019-05-10

本文共 522 字,大约阅读时间需要 1 分钟。

练习6.43

你会把下面的哪个声明和定义放在头文件中?哪个放在源文件中?为什么?

(a) inline bool eq(const BigInt&, const BigInt&){...}

(b) void  putValues(int *arr, int size);

解答:

函数声明和内联函数都适合放在头文件中。所以,这两条语句我都会放在头文件中。

内联函数其实是直接在调用处展开的,可能会被很多地方用到。

函数声明页是一样,同样的原因。

练习6.44

将6.2.2节(189页)的isShorter函数改写成内联函数。

解答:

只需要在返回类型之前添加inline关键字即可。

练习6.45

回顾在前面的练习中你编写的那些函数,他们应该是内联函数吗?如果是,将他们改写成内联的函数;如果不是,说明原因。

解答:

这里有个原则inline函数需要短小,一般超过30行的函数,我就不会将其定义成inline函数。

练习6.46

能把isShorter函数定义成constexpr函数吗?如果能,将他们改写成constexpr函数;如果不能,说明原因。

解答:

应该不能,因为str1.size() <str2.size()不是一个常量表达式。

转载地址:http://nwqlb.baihongyu.com/

你可能感兴趣的文章
osi七层模型,什么是tcp/ip协议,tcp与http,UDP的区别,tcp三次握手过程和特点
查看>>
第二章,ubuntu系统的查看防火墙,切换root用户,设置固定ip、系统时间等
查看>>
hash原理总结
查看>>
mongodb的优缺点
查看>>
如何在cmd下,查找指定一个TXT文件的内容,把这个文本里包含关键字的所有行复制到一个新的文本中
查看>>
线程池和队列学习,队列在线程池中的使用,什么是队列阻塞,什么是有界队列
查看>>
复制集让mongodb的secondary支持读操作,因为存在读写延迟所以是否需要读写分离
查看>>
svn小乌龟怎么断开链接,怎么查看电脑中的隐藏文件,svn复制包或修改包名应注意什么
查看>>
DDR内存基础知识
查看>>
uboot结构之BL0、BL1、BL2、BL3区别于关系
查看>>
Linux模块传参
查看>>
文件系统
查看>>
Linux驱动之总线
查看>>
App 穷途末路?
查看>>
IoT 时代,你要么被颠覆,要么成为颠覆者!
查看>>
漫画:什么是囚徒困境?
查看>>
如何用 160 行代码,实现动态炫酷的可视化图表?
查看>>
山东到底有没有互联网?
查看>>
10 步教你接手同事的代码!
查看>>
买不到口罩怎么办?Python 爬虫帮你时刻盯着自动下单!| 原力计划
查看>>