c++ primer 6.5.2节练习答案

练习6.43

a)放在头文件,因为内联函数和constexpr函数一般写在头文件中

b)函数的定义一般写在源文件,而声明放在头文件

练习6.44

1 inline bool isShorter(const string &s1, const string &s2)
2 {
3     return s1.size() < s2.size();
4 }

练习6.45

内联函数一般用于优化规模小、流程直接、频繁调用的函数。

练习6.46

不行,isShorter函数如果定义成constexpr函数,需要返回值和形参都必须是一个常量表达式,且只有一个return语句,而isShorter函数需要比较的是两个字符串的长度,返回的是布尔类型,故无法定义成constexpr函数。

posted @ 2017-08-03 20:47  五月份小姐  阅读(274)  评论(0编辑  收藏  举报