我不确定这段代码:
someClass(std::list<std::function<void(std::vector<someType>&)>>(&)(const std::vector<someType>&)) {
...
}
我相信someClass
的构造函数会引用函数列表,每个函数都将返回void
并引用向量someType
。
我不确定的是最后一对括号(const std::vector<someType>&)
。 operator()
中的std::list
在这里超载吗?
此外,我想命名std::list
参数,但是我最初对someClass(std::list<...>>(& nameOfList)(...))
的猜测没有用,例如,因为我无法访问nameOfList.begin()
。我在这里做什么?
谢谢。
答案 0 :(得分:6)
构造函数的参数
> jsonschema = require 'jsonschema'
> dkjson = require('dkjson')
> schema = [[
>> { "type" : "object",
>> "properties" : {
>> "foo" : { "type" : "string" },
>> "bar" : { "type" : "number" }}}
>> ]]
> s = dkjson.decode(schema)
> myvalidator = jsonschema.generate_validator(s)
>
> json = '{ "foo": "bar", "bar": 42 }'
> print(myvalidator(json))
false wrong type: expected object, got string
> print(myvalidator(dkjson.decode(json)))
true
是对具有返回类型someClass( std::list<std::function<void(std::vector<someType>&)>>(&)(const std::vector<someType>&)) {
和一个类型为std::list<std::function<void(std::vector<someType>&)>>
的参数的函数的引用
答案 1 :(得分:6)
它本身就是一个功能。
std::list<
std::function<
void(std::vector<someType>&)
>
> (&)(const std::vector<someType>&)
这是对函数的引用,该函数以对std::vector
的const someType
的引用作为参数,并返回std::function
的列表,其中引用了{{1 }},共std::vector
,然后返回someType
。
用法示例:
void