想象一下我有这样的指标:
sample_metric{type="some-type1-1234"} 2
sample_metric{type="some-type1-5678"} 1
sample_metric{type="some-type2-9876"} 4
sample_metric{type="some-type2-4321"} 3
Run Code Online (Sandbox Code Playgroud)
现在我想根据遵循相同模式的类型对指标值进行求和。因此,对于上面的例子,期望的结果是有 2 个和:
type1: 3
type2: 7
Run Code Online (Sandbox Code Playgroud)
这个问题与这个问题有点相似,但是就我而言,我事先不知道这些组。我只知道他们遵循的模式。有没有一种方法可以使用正则表达式通过一个查询来实现这一目标?
我是STL的新手,特别是算法库.我正在尝试迭代a std::multimap,其中键和值都是类型std::string,使用std::for_each()函数并执行一些任务.
这是我的std::multimap:
std::multimap<std::string, std::string> myMap;
for (int i = 0; i < 5; i++) {
myMap.insert(std::make_pair("key", "value"));
}
Run Code Online (Sandbox Code Playgroud)
以下是for_each()功能线:
std::for_each(myMap.begin(), myMap.end(), ask);
Run Code Online (Sandbox Code Playgroud)
该ask()功能定义如下:
void ask(std::pair<std::string, std::string>& entry) {
// do something...
}
Run Code Online (Sandbox Code Playgroud)
该程序给我以下错误:
错误:从'std :: pair,std :: __ cxx11 :: basic_string>'类型的表达式初始化'std :: __ cxx11 :: basic_string&'类型的引用无效
我知道,问题出在for_each()功能线上,我认为这是因为ask()函数参数不正确.但据我所知,每个条目std::multimap都表示为a std::pair,所以ask()函数不应该以std::pair对象作为参数吗?