(原文链接:https://abseil.io/tips/163 译者:clangpp@gmail.com)
每周贴士 #163: 传递absl::optional
参数
- 最初发布于:2019-07-11
- 作者:Ian Eldred Pudney
- 更新于:2020-04-06
- 短链接:abseil.io/tips/163
空值真的是十亿美元的错误吗?
问题
比方说你需要实现一个函数,接收一个可能存在也可能不存在的参数。你可能禁不住去用现代的,闪瞎狗眼的absl::optional
。但是吧,如果这个对象大到了应该传引用的程度,那也许absl::optional
并不是你真的想要的。考虑如下两个声明:
void MyFunc(const absl::optional<Foo