Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion excersize/ch12.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ int main()
解:

构造函数不是 `explicit` 的,意味着可以从 `initializer_list` 隐式转换为 `StrBlob`。在 `StrBlob` 对象中,只有一个数据成员 `data`,而 `StrBlob` 对象本身的含义,也是一个**管理字符串的序列**。因此,从 `initializer_list` 到 `StrBlob` 的转换,在逻辑上是可行的。而这个设计策略的缺点,可能在某些地方我们确实需要 `initializer_list`,而编译器仍会将之转换为 `StrBlob`。
explicit阻止了构造函数的隐式转换,只能将函数直接初始化,不能拷贝初始化。这种设计让程序变得容易使用但是很难dubug。

## 练习12.6

Expand Down Expand Up @@ -987,4 +988,4 @@ public:
private:
// ...
};
```
```