• 标识符是什么,C++标识符详解

    标识符是一个由程序员定义的名称,代表程序的某些元素。变量名就是标识符的示例。只要不使用任何 C++ 关键字,程序员可以在 C++ 中选择自己的变量名。

    C++ 中的关键字构成了该语言的“核心”,它们都有其特定目的。表 1 显示了 C++ 关键字 的完整列表,请注意它们都是小写的:

    表 1 C++关键字
    alignas const for private throw
    alignof constexpr friend protected true
    and const_cast goto public try
    and_eq continue if register typedef
    asm decltype inline reinterpret_cast typeid
    auto default int return typename
    bitand delete long short union
    bitor do mutable signed unsigned
    bool double namespace sizeof using
    break dynamic_cast new static virtual
    case else noexecpt static_assert void
    catch enum not static_cast volatile
    char explicit not_eq struct wchar_t
    char16_t export nullptr switch while
    char32_t extern operator template xor
    class false or this xor_eq
    compl float or_eq thread_local  

    在给变量命名时,应选择能指示变量用途的名称。例如,有人可能会这样给变量命名:

    int x;

    但是,像 x 这样的名字对于提示变量的用途其实没有什么帮助。以下是一个更好的例子:

    int itemsOrdered;

    名称 itemsOrdered 可以让任何读取程序的人都会对该变量的用途有所猜测。这种编写代码的方式有助于生成自我解释型的程序,这意味着通过阅读代码就可以了解该程序的内容。因为现实中的程序通常有成千上万行代码,所以代码尽可能地自我解释是非常重要的。

    有些人可能已经注意到变量名称 itemsOrdered 中存在的大小写字母混合的状况。虽然所有 C++ 的关键字都必须用小写字母表示,但在自定义的变量名中还是可以使用大写字母的。

    itemsOrdered 中的 O 采用大写的原因是为了提高可读性。通常情况下,“items ordered”是两个单词,但是在变量名中不能有空格,所以两个单词必须组合成一个。当“items”和“ordered”组合在一起时,也就得到了如下变量定义语句:

    int itemsordered;

    为了使代码更容易阅读,在命名变量时,将第 2 个单词和任何后续单词的首字母大写,就像 itemsOrdered 这样。当然,这种风格的编写方法并不是强制性的,你完全可以按自己的习惯釆用全部小写、全部大写或组合使用。实际上,有些程序员喜欢使用下画线字符来分隔变量名中的单词,如下所示。

    int items_ordered;

    合法标识符

    无论釆用哪一种编写风格,都要保持一致,并使变量名尽可能提示其用途。以下是所有 C++ 标识符必须遵循的一些特定规则。

    • 第一个字符必须是字母 a 到 z、A 到 Z 或下画线字符(_)中的一个。
    • 第一个字符后,可以使用字母 a 到 z 或 A 到 Z、数字 0 到 9 或下画线。
    • 大小写字符是不同的。这意味着 ItemsOrdered 与 itemsordered 不一样。

    表 2 C++变量名示例
    变M名 是否合法
    dayOfWeek 合法
    3dGraph 非法。变量名不能以数字开头
    _employee_num 合法
    June1997 合法
    Mixture#3 非法。变量名只能使用字母、数字和下画线

    表 2 列出了若干变量名称,并指出了它们在 C++ 中是合法还是非法。

更多...

加载中...