Официальные имена / ключевые слова операторов C ++

С праздником, ребята.

Я работал над последовательностью препроцессора C ++ (используя ускорение), чтобы помочь мне в создании функторов на основе операторов. Я до сих пор доделал исходный код, однако у меня возникли проблемы с поиском наиболее подходящих ключевых слов, идентифицирующих эти функторы.

В частности, после просмотра черновика C ++ 0x мне не удалось найти наиболее подходящие (уникальные) имена для следующих операторов:

  • -> и. которые оба вызываются в черновике: операторы-члены класса
  • -> * и. *, которые оба вызываются: указатель на операторы-члены

Как вы думаете, вы можете помочь мне лучше назвать их?

Ссылки, которые у меня есть используется для следующих целей:

  1. Черновик C ++ 0x (можно найти в Интернете)
  2. Заголовок "boost / proto / operator.hpp" , который включает большинство перегружаемых операторов.
  3. Операторы в C и C ++ из Википедии, которые также предоставили следующие имена
    • . ссылка на структуру
    • -> разыменование структуры
    • -> * и. * указатели на элементы

Вот список, который я создал. Будем очень признательны за любые другие предложения.

 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

33
задан Transfinite Numbers 29 December 2015 в 22:57
поделиться