带单引号的整数文字?

4 c++ integer literals

到底什么被赋予了价值?我很惊讶这竟然已经编译完成了。

//g++  7.4.0

#include <iostream>

int main()
{
    auto value = 123'456'7;
    std::cout << value << std::endl;

    value += 1;
    std::cout << value << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

输出:

1234567
1234568
Run Code Online (Sandbox Code Playgroud)

Jar*_*d42 6

从 C++14 开始,

来自https://en.cppreference.com/w/cpp/language/integer_literal

可以在数字之间插入可选的单引号 (') 作为分隔符。它们被编译器忽略。