C++ Officiel De L'Opérateur De Noms / Mots-Clés

Joyeuses Fêtes les gars.

J'ai travaillé sur un préprocesseur C++ séquence (à l'aide de boost) pour m'aider dans la génération de l'opérateur base de foncteurs. J'ai effectué la source, toutefois, j'ai eu du mal à trouver le plus de mots-clés appropriés l'identification de ces foncteurs.

Plus précisément après avoir examiné le C++0x projet je n'ai pas réussi à trouver la plus appropriée (unique) des noms pour les opérateurs suivants:

  • -> et . qui sont tous deux appelés dans le projet: membre de la classe des opérateurs de
  • ->* et .* qui sont tous deux appelés: pointeur sur membre des opérateurs

Pensez-vous que vous pouvez m'aider nom de leur mieux?

Les références que j'ai utilisée pour:

  1. Le C++0x projet (Peut être trouver en ligne)
  2. La "boost/proto/opérateurs.hpp" en-tête qui comprenait la plupart des cours téléchargeables opérateurs.
  3. La Les opérateurs en C et C++ de Wikipedia qui a également fourni les noms suivants
    • . structure de référence
    • -> structure de déréférencement
    • ->* et .* membre des pointeurs

Voici la liste que j'ai jusqu'à présent créé. Toutes les autres suggestions seront grandement appréciés.

 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
  • Je me souviens de cette uniquement (pas sûr) : -> est appelé flèche opérateur (sauvegarder vos yeux :D)(membre de l'accès via le pointeur)
  • J'ai l'habitude d'être un programmeur comme vous. Ensuite, j'ai pris une flèche de l'opérateur dans le genou...
  • ce n'est que "l'habitude d'être" veut dire, ce que vous êtes maintenant? et Pourquoi voudriez-vous faire cela genou partie? 0_o
  • Désolé, c'était terrible je sais haha. Je ne pouvais pas résister 🙂
  • Le jeu Skyrim contient un grand nombre de soldats qui disent une chose semblable. Il est devenu tout à fait une fâcheuse tendance à paraphraser en ligne. J'ai été l'arracher. Je suis encore un programmeur, et mes genoux sont parfaitement bien 🙂
  • Merci, c'est ce que j'ai utilisé, après tout!
  • N'avons-nous pas encore manquer ::, je pense qu'il a été appelé à la résolution de la portée de l'opérateur ou quelque chose comme ça.
  • Veenman eh Bien oui, mais que l'opérateur ne peut pas être surchargé avec C++ donc je n'ai jamais inclus dans la liste. Le seul autre opérateur qui ne peut pas être surchargé est la (.) qui est appelé sélecteur de membres.
  • Ok pas de problème! J'essayais juste de vous aider!
  • La norme elle-même donne des noms de (seulement!) certains des opérateurs pour définir nommé foncteurs en.cppreference.com/w/cpp/utility/functional. Cependant, il n'est pas cohérent avec lui-même et avec votre liste. Parce qu'il appelle multiplies à o*o mais plus (pas addition ou add) à o+o. Dans le premier cas, il décrit le fonctionnement et dans le second cas, il décrit le symbole. Je pense qu'ils devraient être appelé soit composition et plus OU multiplies et adds OU multiplication et addition OU multiply et add.