【发布时间】:2017-08-04 14:33:04
【问题描述】:
我正在使用 C++。我有一个字符串,它可以包含以^ 开头并以$ 结尾的元素。该元素可以是int 或string。
示例:
"....^15$asdasd"-> 15
"...^bbbb$ccc"->"bbbb"
我想编写 lambda 函数来执行此操作。 如果我使用模板函数,代码将如下所示:
template <typename T>
T getElem(string S)
{
T retElem;
// make calculations
// ....
return retElem;
}
但是当我尝试使用通用 lambda 时,我遇到了这种情况:
auto getElem = [] () {
T retElem;
// make calculations
// ....
return retElem;
};
问题是如何获取 retElem 的类型。在这种情况下有没有办法使用 lambda。我想在使用这种提取的函数中使用通用 lambda。我只想把这个逻辑封装在函数中。
【问题讨论】:
-
为什么要使用 lambda?你的函数模板有什么问题?
标签: c++ c++14 generic-lambda