c++ - 使用 boost 代码处理可能/不太可能的宏的命名空间冲突的最佳方法
问题描述
该类boost::date_time::special_values_parser
有一个名为 的方法likely
。但是,我在使用likely
/unlikely
作为分支预测宏的代码中使用此类(请参阅Linux 内核中可能/不太可能的宏如何工作以及它们有什么好处?)。有没有办法在使用宏的同时仍然使用此代码?
解决方案
有没有办法在使用宏的同时仍然使用此代码?
是的。类似函数的宏需要()
立即展开,而常规函数则不需要。解决方法:
(boost::date_time::special_values_parser::likely)( /* ... */ );
推荐阅读
- php - 用 PHP 替换基于 URL 参数的页面内容
- mysql - 在 Eclipse 中将 mySQL 连接到 java 时,找不到适用于 jdbc//mysql://localhost:3306/nishadagar 的驱动程序
- angular - 对输入字段同时使用 value 和 ngModel 不起作用?
- python - flask_login 中的 current_user 返回 NoneType
- c# - 设置 UWP 目标系统
- ruby-on-rails - 如何为表中的列中的特定值创建方法?
- php - 当 SQL 字符串具有“%f”时,Wordpress wpdp->getResults 不执行我的 sql
- ios - 将 Flutter 集成到 CocoaTouch SDK 中?
- system-verilog - 将 8 位值传递给 1 位端口?
- protocol-buffers - 如何将 OpenAPI Spec (Swagger 2.0) 转换为 proto3?