我是一位有一些JavaScript经验的C ++程序员。我想在C ++ 11中做类似于这段代码的东西:
map = {
"text1": function() { /*function #1 code*/ },
// ..
"textn": function() { /*function #n code*/ }
}
我知道他们在C ++ 11中添加了lambdas,但我不确定如何根据我的特定目的使用它们。
修改
在C / C ++中实现它的经典方法是通过函数指针数组,但我觉得它们很难调试
答案 0 :(得分:2)
您可以使用以下内容:
expect(selectElement.nativeElement.value).toBe('1');
答案 1 :(得分:2)
@Stefano为您提供了问题的正确数据类型。虽然我想展示一些细节:
首先,您无法使用key:value
语法。你需要做这样的事情:
std::map<std::string, std::function<void()>> myMap{
{"key", /*any callable, including lambdas, functions and function objects*/},
//ditto
};
请注意,它们都必须具有相同的功能签名,例如在这种情况下,返回类型必须是void
,并且它不应该接受任何参数。