Top*_*ret 3 c++ nullable reference
我正在编写一个应该接受的功能const std::string &,但也有一个特殊的nullptr价值。目前,我正在使用const std::string *。但是,我觉得应该有更多的C ++方式来执行此任务。
我最强的对点是按值传递(字符串不会很长,但我不想复制64kB)。这也意味着我不希望像optional<T>这样的对象具有type的value字段T。另外,我不想使用任何外部库。我的项目没有使用Boost或GSL,而只是使用普通的C ++(确切地说是C ++ 17)。
是否存在namespace std这种情况下的标准库类(奇迹出现在)或被广泛接受的成语?
如果std::optional支持引用,那将是一种很好的“现代”方式。
但:
古老的,久经考验且清晰易读的解决方案是获取一个指针。这种方法绝对可以完成您需要做的所有事情。
这样做,然后继续将您的宝贵时间花在更重要的事情上!