c++ - C++ 将函数标记为实验性/未完全实现
问题描述
我有一个功能,由于各种原因,我需要部分实现,并且我想防止未来的用户(当我忘记我这样做时,以后像我一样阅读)知道该功能是不完整的、有缺陷的和未经测试的。
选项 n1 只是添加一个注释// Warning this thing is partially implemented and will break randomly
,但是这不会创建编译时警告,所以我不是粉丝。
选项 n2 是使用[[deprecated("reason")]]
它具有引发编译警告的优点,但它具有误导性,该功能没有被弃用,它实际上与弃用相反,它是一个 WIP,也许有一天会完全实现。
有替代品吗?
解决方案
该[[deprecated]]
属性正是它的用途(强调我的):
https://en.cppreference.com/w/cpp/language/attributes
[已弃用]
[不推荐使用(“原因”)]
表示允许使用使用此属性声明的名称或实体,但由于某种原因不鼓励使用
您仍然可以使用该功能,您只会收到一条警告消息,提示您不应依赖它的使用。
警告:MSVC 违反标准并发出编译器错误(由于 SDL 标志默认打开)而不是警告。
推荐阅读
- python-3.x - AttributeError:“PathDistribution”对象没有属性“名称”
- python - 如何在 Plotly 分组条形图中提取适当的数据?
- mongodb - Azure Cosmos MongoDB 似乎不使用索引
- reactjs - 如何禁用整个 VSCode 格式?
- react-native - 如何在本机基础项目中设置机器人介质。目前无法更改字体粗细
- c++ - c ++标头中的结构编码样式
- r - 在 R 中使用 sf 包中的 st_as_sfc 时出现错误“OGR:不支持的几何类型”
- sonos - Sonos SMAPI 在接收到 GET 上下文和 itemWindow 时无法开始播放 cloudQueue
- database - 找出与 MongoDB 集群的连接源
- nginx - Nginx:如何将 JS/CSS http 链接重定向到其他域?