C ++官方运营商名称/关键字

时间:2011-12-30 11:41:21

标签: c++ operators keyword

节日快乐的人。

我一直在研究C ++预处理器序列(使用boost)来帮助我生成基于​​运算符的仿函数。到目前为止,我已完成了源代码,但是我无法找到最合适的关键字来识别这些仿函数。

更具体地说,在审查了C ++ 0x草案后,我找不到以下运算符的最合适(唯一)名称:

  • - >和。这两个都在草案中被调用:类成员运算符
  • - > *和。*都被调用:指向成员运算符的指针

你认为你能帮我更好地命名吗?

我用过的参考文献:

  1. C ++ 0x草案(可以在线查找)
  2. 包含大多数可重载运算符的"boost/proto/operators.hpp"标头。
  3. 来自维基百科的Operators in C and C++,其中还提供了以下名称
    • 。结构参考
    • - >结构解除引用
    • - > *和。*成员指针
  4. 这是我到目前为止创建的列表。任何其他建议将不胜感激。

     Symbol        Keyword           Description
    ++      , post_increment      , post increment
    --      , post_decrement      , post decrement
    ++      , pre_increment       , pre increment
    --      , pre_decrement       , pre decrement
    +       , unary_plus          , additive promotion
    -       , unary_minus         , additive inversion
    !       , negate              , logical negation
    ~       , complement          , complement
    *       , indirect            , indirection
    &       , address_of          , address of
    +       , add                 , addition
    -       , subtract            , subtraction
    *       , multiplies          , multiplication
    /       , divides             , division
    %       , modulus             , modulo
    ==      , equal               , equality
    !=      , inequal             , inequality
    >       , greater             , greater than
    <       , less                , less than
    >=      , greater_equal       , greater or equal than
    <=      , less_equal          , less or equal than
    &&      , logical_and         , logical and
    ||      , logical_or          , logical or
    &       , bitwise_and         , bitwise and
    |       , bitwise_or          , bitwise inclusive or
    ^       , bitwise_xor         , bitwise exclusive or
    <<      , left_shift          , left shift
    >>      , right_shift         , right shift
    +=      , add_assign          , addition assignment
    -=      , subtract_assign     , subtractions assignment
    *=      , multiplies_assign   , multiplication assignment
    /=      , divides_assign      , division assignment
    %=      , modulus_assign      , modulo assignment
    >>=     , right_shift_assign  , right shift assignment
    <<=     , left_shift_assign   , left shift assignment
    &=      , bitwise_and_assign  , bitwise and assignment
    ^=      , bitwise_or_assign   , bitwise exclusive or assignment
    |=      , bitwise_or_assign   , bitwise inclusive or assignment
    ->*     , arrow_indirect      , pointer to member
    ,       , comma               , comma
    =       , assign              , assignment
    []      , subscript           , subscription
    ->      , arrow               , class member
    .       , dot                 , class member
    .*      , dot_indirect        , pointer to member
    

1 个答案:

答案 0 :(得分:10)

尝试http://en.cppreference.com/w/cpp/language/operator_precedence

新建,删除,投射,我认为还有更多的运营商和关键字。