关于 C++ 中文字定义的说明

Clarification regarding the definition of a literal in C++

我相信我得到了一些令人困惑的信息,所以我正在寻求澄清。

在谈论文字(文字常量)时,是否将程序员直接键入源代码中的每个值都视为文字?

例如 int x{5}; // Would the value of 5 in the initialized variable x be considered a literal?

我知道变量本身不是文字,因为它可以更改,但是您是否将 5 称为文字,因为它直接输入到源代码中,因此这个特定值 5 无法更改不编辑源代码?

有很多文字:

  • 整数文字,例如 100120xA
  • floating-point 像 10.010.0f
  • 这样的文字
  • 布尔文字,如 truefalse
  • 字符文字,例如 't''e''n'
  • "ten"
  • 这样的字符串文字
  • 空指针文字,如 nullptr
  • user-defined 像 "10"h.
  • 这样的文字