C++:Lambda 表达式的输入
c++: input of a lambda expression
我有以下代码:
auto x_is_valid = [](const MyX &x) -> bool {
return x.source != MyXValue::ABC;
};
auto objects = var_.var_in_box(*a, b, c, x_is_valid);
我想知道:
- 如何计算
x_is_valid
? - 它的输入参数从哪里获取?
如何正确阅读本文?
谢谢!
数学类比可能会有所帮助。想象一个函数f(x) = x^2
.
如何计算
f
?
它就在那里:对于任何x
,计算的公式都是f(x) = x^2
。
它的输入参数从哪里获取?
从呼叫者。
上面的"答案"毫无意义,但如果你在数学意义上的函数上下文中理解它们,它们可能会有所帮助。
如果var_.var_in_box
,则期望将bool
作为最后一个参数,则调用
auto objects = var_.var_in_box(*a, b, c, x_is_valid);
应导致编译错误。
如果上面的行编译没有任何错误,那么上面的最后一个参数类型是一个可调用的对象,而不是一个bool
。据推测,该函数使用传入的可调用对象进行函数调用。无法从发布的代码中确定在类的成员函数的实现中如何调用可调用对象var_in_box
。
相关文章:
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 2D数组来自文本输入,中间有空格
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 如何获取用户输入的算术表达式,如 5-8+7*4-8+9 或 1+5?
- C++如何使用表达式获取用户输入?
- 如何使用正则表达式将输入数字格式化为字符串
- C++:Lambda 表达式的输入
- 如何用键盘输入数学表达式
- 正则表达式在开头单独匹配单词,或者在输入结束时通过不重复字符串附加到某些内容但附加到某些内容
- 通过getline()输入,正则表达式无法正常工作
- getline 和在类函数中传递输入流,主表达式错误
- 检查输入字符串是否为数字且为C++,如果是,则将其转换为 int(正则表达式?
- 使用正则表达式进行输入验证
- 使用正则表达式检查输入的有效性
- 正则表达式的输入掩码
- 正则表达式库,用于维护状态,逐个字符接受输入,并在找到匹配时返回true
- 2位输入的表达式树
- 使用正则表达式验证输入
- 从输入中导出最小正则表达式
- 缓存重复输入数据的表达式求值