GCC 二进制文字和 C++14 的区别?

2022-01-23 00:00:00 gcc literals g++ c++ c++14

C++14 seems to be coming and compilers are already trying to implement the core features of this new revision. I was having a look at GCC support for these core features and noticed something about the binary literals part: GCC implements them but seems to make a difference between GNU binary literals and C++14 binary literals. Here are the respective references for both:

  • GNU binary literals
  • C++1y binary literals

I tried to find some differences between the two of them since GCC seems to make the difference, but could not find anything. Does any of you know more about possible incompatibilities?

解决方案

From the commit diff which introduced support in gcc 4.9, the only difference is that gcc now accepts binary literals as a language feature of C++1y, and doesn't warn that they're a gcc extension if C++1y support is specified. There is no change to the actual implementation.

Previously:

warning : binary constants are a GCC extension

Now, unless -std=c++1y is specified:

warning : binary constants are a C..1y feature or GCC extension

相关文章