c – std :: function typedef中的参数名称
发布时间:2020-12-16 09:43:13 所属栏目:百科 来源:网络整理
导读:我知道我可以像这样输入一个 std::function : typedef std::functionvoid (const std::string) TextChangedHandler 是否允许在typedef中指定参数名称,以使其更加自我记录?例如: typedef std::functionvoid (const std::string text) TextChangedHandler
我知道我可以像这样输入一个
std::function :
typedef std::function<void (const std::string&)> TextChangedHandler 是否允许在typedef中指定参数名称,以使其更加自我记录?例如: typedef std::function<void (const std::string& text)> TextChangedHandler 我可以添加参数名称,它在Visual C 2010上编译得很好,但我想确保它符合C 03 / C 11标准. 解决方法
是.
这种指定函数类型而没有声明符来命名函数的形式在语法上是一个type-id(8.1): type-id: type-specifier-seq abstract-declarator[opt] abstract-declarator: ptr-operator abstract-declarator[opt] direct-abstract-declarator direct-abstract-declarator: direct-abstract-declarator[opt] ( parameter-declaration-clause ) cv-qualifier-seq exception-specification direct-abstract-declarator[opt] [ constant-expression ] ( abstract-declarator ) parameter-declaration-clause语法与普通函数声明中的语法相同,它允许每个参数具有名称(声明符)或不具有(抽象声明符)(8.3.5): parameter-declaration-clause: parameter-declaration-list[opt] ...[opt] parameter-declaration-list[opt],... parameter-declaration-list: parameter-declaration parameter-declaration-list,parameter-declaration parameter-declaration: decl-specifier-seq declarator decl-specifier-seq declarator = assignment-expression decl-specifier-seq abstract-declarator[opt] decl-specifier-seq abstract-declarator[opt] = assignment-expression (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |