gpt4 book ai didi

c++ - 主要功能参数的属性

转载 作者:行者123 更新时间:2023-12-01 11:55:04 26 4
gpt4 key购买 nike

我可以使用主函数参数的属性还是它是实现定义的?
Looks like main 函数只有 2 种支持形式,没有 attribute-list而一般function declaration syntax确实有。
示例:

int main([[maybe_unused]] int argc, char* argv[]);

最佳答案

实际上,没有明确要求必须接受主函数参数的属性basic.start.main .
但另一方面,如果您阅读 dcl.attr.unused#5您找不到 main 的任何特殊内容,说明那里不允许这样做。
要符合 C++17 标准,编译器必须知道该属性,但即使是未知属性也不应导致错误。您可以在标准中找到它:

Any attribute-token that is not recognized by the implementation is ignored. dcl.attr#grammar-6


不幸的是,属性有时会导致错误(即使它们不应该)。有关此问题的示例,请参见: GSL_SUPPRESS .
在实践中,您的代码被所有主要编译器接受而没有警告 Godbolt .所以我会说没关系。
但是因为它允许有一个不带参数的 main 函数,所以我更喜欢这样。

关于c++ - 主要功能参数的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62736923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com