2017-05-08 7 views
-4

Lorsque vous effectuez des recherches sur C++ surcharge d'opérateur, je suis tombé sur un page qui a dit:Qu'est-ce que `& |` en C++?

nouveaux opérateurs tels que **, <>, ou & | ne peut pas être créé.

Est-ce que &| existe vraiment en C++? Si oui, comment cela s'appelle-t-il et que fait-il?

--- MISE À JOUR ---

Pour ceux qui veulent à l'avenir connaître la réponse: La phrase signifie que vous ne pouvez pas créer « nouveau » opérateur, sans opérateur new ni opérateur qui est nouveau en C++. Cela signifie

Les opérateurs qui n'existe pas dans la langue, comme **, <> et & |, ne peut pas être créé

+12

"Les nouveaux opérateurs tels que **, <> ou & | ne peuvent pas être créés." implique, correctement, que ces opérateurs n'existent pas. –

+1

Le commentaire indique que vous ** ne pouvez pas ** faire 'foo ** bar;', 'foo <> bar;', ou 'foo & | barr'. – NathanOliver

+2

notez que ** dans la question liée n'est pas * un * opérateur, c'est * deux * utilisations de 'operator *' – Caleth

Répondre

5

Non, ils n'existent pas. C'est pourquoi ils seraient nouveaux opérateurs si vous pouviez les créer car ils n'existaient pas avant de les avoir créés.

+1

Les implémentations de "operator new" ne sont-elles pas de nouveaux opérateurs?/s – cdhowie

+0

Je pensais que c'est une sorte d'opérateur qui est nouveau en C++ ... Merci – raymai97

+0

Bonne prise, @cdhowie. Bien que j'écrivais de nouveaux opérateurs alors ... – Shadow

3

Cette ligne indique que nous pouvons surcharger un opérateur existant mais que nous ne pouvons pas créer de nouveaux opérateurs comme **, <> ou & | . Ils n'existent pas en C++. Et si vous voulez toujours savoir que ce qu'ils opertaor sont alors ** est un pointeur sur le pointeur, <> n'est pas égal à opérateur dans SQL, et & | n'existe pas et la combinaison de bits AND et OR