Polyspace对C++不同标准语言元素的支持及相关配置方法
1. Polyspace对C++11语言元素的支持
Polyspace对C++11引入的部分语言元素提供了支持,如果代码中包含不支持的结构,Polyspace会报告编译错误。以下是部分C++11语言元素及其在Polyspace中的支持情况:
| C++11 Std Ref | 描述 | 支持情况 |
| — | — | — |
| C++2011 - DR226 | 函数模板的默认模板参数 | 是 |
| C++2011 - DR339 | 解决表达式的SFINAE问题 | 是 |
| C++2011 - N1610 | 通过右值初始化类对象 | 是 |
| C++2011 - N1791 | 扩展的友元声明 | 否 |
| C++2011 - N2179 | 并发:传播异常 | 否 |
| C++2011 - N2239 | 并发:序列点(无新语法/关键字,不影响支持) | 无影响 |
2. Polyspace对C++14语言元素的支持
同样,对于C++14引入的部分语言元素,Polyspace也有相应的支持情况。若代码中有不支持的结构,会出现编译错误。示例如下:
| C++14 Std Ref | 描述 | 支持情况 |
| — | — | — |
| C++2014 - N3323 | 在某些上下文中(如delete或switch语句)从类类型的隐式转换(无新语法/关键字,不影响支持) | 无影响 |
| C++2014 - N3462 | 更友好的SFINAE的std::result_o
超级会员免费看
订阅专栏 解锁全文
4739

被折叠的 条评论
为什么被折叠?



