从我的个人经验以及从咨询答案到诸如decltype(auto)有什么用途的问题?我可以找到许多有价值的用例decltype(auto)
作为函数返回类型占位符。
但是,我在努力思考decltype(auto)
变量的任何有效(即有用,现实,有价值)用例时都非常费劲。我想到的唯一可能性是存储函数返回的结果以decltype(auto)
供以后传播,但auto&&
也可以在此使用,这样会更简单。
我什至搜索了我所有的项目和实验,其中391个出现的decltype(auto)
都是返回类型的占位符。
那么,变量是否有实际的用例decltype(auto)
?还是仅当用作返回类型占位符时此功能才有用?
您如何定义“现实”?
我正在寻找一个能提供价值的用例(即,不仅仅是显示功能如何工作的示例)decltype(auto)
,与诸如auto&&
或根本不声明变量的替代方案相比,哪里是最佳选择。
问题域无关紧要,它可能是一些晦涩的元编程极端案例或神秘的功能编程构造。但是,该示例需要使我接受“嘿,这很聪明/很漂亮!” 而使用任何其他功能来达到相同的效果将需要更多样板,或者存在某种缺陷。