Is 0 a decimal literal or an octal literal?

Yakov Galka picture Yakov Galka · Aug 1, 2011 · Viewed 19k times · Source

Zero is always zero, so it doesn't matter. But in a recent discussion with a friend he said that octal literals are almost unused today. Then it dawned upon me that actually almost all integer literals in my code are octal, namely 0.

Is 0 an octal literal according to the C++ grammar? What does the standard say?

The only real use I'm aware of is for unix file permissions.

Answer

Alok Save picture Alok Save · Aug 1, 2011

Yes, 0 is an Octal literal in C++.

As per the C++ Standard:

2.14.2 Integer literals [lex.icon]