我有一个问题,当我使用这样的东西时:
const MyList& my_list = getListForThisRegion(/*region ID,...*/);
当没有找到任何价值时,我不知道该返回什么.
我的问题是,我希望有一种方法可以向调用者发出信号(当从getListForThisRegion返回值时)“找不到值”.如果我返回一个指针,我可以返回nullptr,但我不知道如何使用引用.我能想到的只是有一些MyList类型的静态成员not_found,并返回对它的引用,但它看起来很难看.
是的,我无法返回价值,因为列表是“胖”并经常使用.
编辑:很多很好的答案,但异常不是一个可接受的解决方案,因为它将被提高的次数很高(nbNotFound / nbCalls的百分比很高).
EDIT2:关于boost :: optional – 掌握它有多复杂?我的意思是它需要一些非显而易见的知识(非显而易见的=不仅仅是知道语法的东西)?