繁体   English   中英

我在哪里可以找到有关C ++ [[deprecated]]属性的信息

[英]Where can I find information on the C++ [[deprecated]] attribute

我收到了一个描述C ++ 11中[[deprecated]]属性的链接 这听起来非常方便,我想了解更多相关信息 - 编译器支持它,完整的文档等等。

我花了20分钟左右的谷歌搜索,但除了链接的网站 ,我无法在任何地方找到这个信息。 部分地,由于与C ++ 11相关的“弃用”一词的其他用法以及搜索引擎无法识别[[ 我也没有在各种SO答案中与草案标准中找到这一点。 我无权使用完整的付费标准。

有没有人有关于[[deprecated]]属性的更多信息?

PS:如果你很好奇,我会用它作为https://stackoverflow.com/a/295229/599884的更好的替代品

[[deprecated]]属性已进入C ++ 14的草案(参见2013年10月草案的第7.6.5节[dcl.attr.deprecated])。

deprecated属性标记可用于标记仍允许使用的名称和实体,但由于某种原因不鼓励使用。

例如,不推荐使用以下函数foo

[[deprecated]]
void foo(int);

可以提供描述不推荐使用名称或实体的原因的消息:

[[deprecated("Replaced by bar, which has an improved interface")]]
void foo(int);

消息必须是字符串文字。

首先, [[]]中的内容不是关键字; 他们是属性。

其次,C ++ 11标准没有定义[[deprecated]]属性。 您所指的链接是错误的还是指的是实现此属性的特定编译器(可能是C ++ Builder?)。

属性(通常)是特定于编译器的。 #pragma s一样,编译器应该忽略它们不支持的任何属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM