Last Updated: 2023-08-20 14:15:49 Sunday
-- TOC --
所谓attributes,是代码中用[[...]]
包裹起来的说明,它们的作用是给编译器提供信息,由于这是C++标准,因此这种给编译器提供信息的方式,是跨平台的。
https://en.cppreference.com/w/cpp/language/attributes
用来说明某个函数接口的返回值,不应该被丢弃,如果代码丢弃了,编译器应给出warning。如下面的代码,g++编译的时候,会给出warning,因为func调用的返回值没有被使用。
[[nodiscard]]
int func(){
return 1;
}
int main(){
func();
return 0;
}
用来说明某个函数的入参,可能不会被使用,用来抑制编译器的warning。下面这段代码,如果没有使用[[maybe_unused]],就有可能会产生-Wunused-parameter的warning:
int func([[maybe_unused]]int a){
return 1;
}
int main(){
func(0);
return 0;
}
本文链接:https://cs.pynote.net/sf/c/cpp/202302012/
-- EOF --
-- MORE --