Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

Uitgebreide Gids voor C++ Operators: Types, Gebruik en Best Practices

Een operator is een symbool dat de compiler vertelt om specifieke wiskundige of logische manipulaties uit te voeren. C++ is rijk aan ingebouwde operators en biedt de volgende typen operators:

  • Rekenkundige Operators (Arithmetic Operators)
  • Relationele Operators (Relational Operators)
  • Logische Operators (Logical Operators)
  • Bitwise Operators
  • Toewijzingsoperators (Assignment Operators)
  • Diverse Operators (Misc Operators)

Dit hoofdstuk onderzoekt de rekenkundige, relationele, logische, bitwise, toewijzings- en andere operators één voor één.

Rekenkundige Operators

De volgende rekenkundige operators worden ondersteund door C++:

Neem aan dat variabele A 10 bevat en variabele B 20, dan:

Voorbeelden tonen

Operator Beschrijving Voorbeeld
+ Tel twee operanden op A + B geeft 30
- Trek tweede operand van de eerste af A - B geeft -10
* Vermenigvuldig beide operanden A * B geeft 200
/ Deel teller door noemer B / A geeft 2
% Modulus operator en rest na gehele deling B % A geeft 0
++ Increment operator, verhoogt integer waarde met één A++ geeft 11
-- Decrement operator, verlaagt integer waarde met één A-- geeft 9

Relationele Operators

De volgende relationele operators worden ondersteund door C++:

Neem aan dat variabele A 10 bevat en variabele B 20, dan:

Voorbeelden tonen

Operator Beschrijving Voorbeeld
== Controleert of de waarden van twee operanden gelijk zijn, zo ja dan wordt de voorwaarde true. (A == B) is niet true.
!= Controleert of de waarden van twee operanden gelijk zijn, als waarden niet gelijk zijn wordt de voorwaarde true. (A != B) is true.
> Controleert of de waarde van de linkse operand groter is dan de rechter operand, zo ja dan wordt de voorwaarde true. (A > B) is niet true.
< Controleert of de waarde van de linkse operand kleiner is dan de rechter operand, zo ja dan wordt de voorwaarde true. (A < B) is true.
>= Controleert of de waarde van de linkse operand groter of gelijk is aan de rechter operand, zo ja dan wordt de voorwaarde true. (A >= B) is niet true.
<= Controleert of de waarde van de linkse operand kleiner of gelijk is aan de rechter operand, zo ja dan wordt de voorwaarde true. (A <= B) is true.

Logische Operators

De volgende logische operators worden ondersteund door C++:

Neem aan dat variabele A 1 bevat en variabele B 0, dan:

Voorbeelden tonen

Operator Beschrijving Voorbeeld
&& Logical AND operator. Als beide operanden non-zero zijn, wordt de voorwaarde true. (A && B) is false.
|| Logical OR Operator. Als een van de twee operanden non-zero is, wordt de voorwaarde true. (A || B) is true.
! Logical NOT Operator. Keert de logische staat van de operand om. Als een voorwaarde true is, maakt Logical NOT het false. !(A && B) is true.

Bitwise Operators

Bitwise operator werkt op bits en voert bit-voor-bit operaties uit. De waarheidstabellen voor &, |, en ^ zijn als volgt:

p q p & q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

Neem aan A = 60; en B = 13; nu in binair formaat zullen ze als volgt zijn:

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A|B = 0011 1101

A^B = 0011 0001

~A = 1100 0011

De Bitwise operators ondersteund door C++ zijn in de volgende tabel vermeld. Neem aan variabele A bevat 60 en variabele B bevat 13, dan:

Voorbeelden tonen

Operator Beschrijving Voorbeeld
& Binary AND Operator kopieert een bit naar het resultaat als het in beide operanden bestaat. (A & B) geeft 12 wat 0000 1100 is
| Binary OR Operator kopieert een bit als het in één van de operanden bestaat. (A | B) geeft 61 wat 0011 1101 is
^ Binary XOR Operator kopieert de bit als het in één operand gezet is maar niet in beide. (A ^ B) geeft 49 wat 0011 0001 is
~ Binary Ones Complement Operator is unair en heeft het effect van 'omkeren' van bits. (~A) geeft -61 wat 1100 0011 is in 2's complement vorm door een gesigneerd binair getal.
<< Binary Left Shift Operator. De waarde van de linkse operand wordt naar links verschoven met het aantal bits gespecificeerd door de rechter operand. A << 2 geeft 240 wat 1111 0000 is
>> Binary Right Shift Operator. De waarde van de linkse operand wordt naar rechts verschoven met het aantal bits gespecificeerd door de rechter operand. A >> 2 geeft 15 wat 0000 1111 is

Toewijzingsoperators (Assignment Operators)

De volgende toewijzingsoperators worden ondersteund door C++:

Voorbeelden tonen

Operator Beschrijving Voorbeeld
= Eenvoudige toewijzingsoperator, wijst waarden van rechter operanden toe aan linkse operand. C = A + B wijst waarde van A + B toe aan C
+= Optel EN toewijzingsoperator, telt rechter operand op bij linkse operand en wijst resultaat toe aan linkse operand. C += A is equivalent aan C = C + A
-= Aftrek EN toewijzingsoperator, trekt rechter operand af van linkse operand en wijst resultaat toe aan linkse operand. C -= A is equivalent aan C = C - A
*= Vermenigvuldig EN toewijzingsoperator, vermenigvuldigt rechter operand met linkse operand en wijst resultaat toe aan linkse operand. C *= A is equivalent aan C = C * A
/= Deel EN toewijzingsoperator, deelt linkse operand door rechter operand en wijst resultaat toe aan linkse operand. C /= A is equivalent aan C = C / A
%= Modulus EN toewijzingsoperator, neemt modulus met twee operanden en wijst resultaat toe aan linkse operand. C %= A is equivalent aan C = C % A
<<= Linksshift EN toewijzingsoperator. C <<= 2 is hetzelfde als C = C << 2
>>= Rechtshift EN toewijzingsoperator. C >>= 2 is hetzelfde als C = C >> 2
&= Bitwise AND toewijzingsoperator. C &= 2 is hetzelfde als C = C & 2
^= Bitwise exclusive OR en toewijzingsoperator. C ^= 2 is hetzelfde als C = C ^ 2
|= Bitwise inclusive OR en toewijzingsoperator. C |= 2 is hetzelfde als C = C | 2

Diverse Operators (Misc Operators)

De volgende tabel bevat enkele andere operators die C++ ondersteunt.

Nr. Operator & Beschrijving
1

sizeof

sizeof operator retourneert de grootte van een variabele. Bijvoorbeeld, sizeof(a), waar 'a' integer is, retourneert 4.

2

Condition ? X : Y

Conditionele operator (?). Als Condition true is, retourneert het de waarde van X, anders de waarde van Y.

3

,

Comma operator zorgt voor een reeks operaties die uitgevoerd worden. De waarde van de gehele comma-expressie is de waarde van de laatste expressie van de comma-gescheiden lijst.

4

. (dot) en -> (arrow)

Member operators worden gebruikt om individuele leden van klassen, structuren, en unions te refereren.

5

Cast

Casting operators converteren één datatype naar een ander. Bijvoorbeeld, int(2.2000) zou 2 retourneren.

6

&

Pointer operator & retourneert het adres van een variabele. Bijvoorbeeld &a; geeft het daadwerkelijke adres van de variabele.

7

*

Pointer operator * is pointer naar een variabele. Bijvoorbeeld *var; is pointer naar variabele var.

Operator Precedentie in C++

Operator precedentie bepaalt de groepering van termen in een expressie. Dit beïnvloedt hoe een expressie geëvalueerd wordt. Bepaalde operators hebben hogere precedentie dan andere; bijvoorbeeld, de vermenigvuldigingsoperator heeft hogere precedentie dan de opteloperator:

Bijvoorbeeld x = 7 + 3 * 2; hier wordt x 13 toegewezen, niet 20, omdat operator * hogere precedentie heeft dan +, dus wordt het eerst vermenigvuldigd met 3*2 en dan opgeteld bij 7.

Hier staan operators met de hoogste precedentie bovenaan de tabel, die met de laagste onderaan. Binnen een expressie worden hogere precedentie operators eerst geëvalueerd.

Voorbeelden tonen

Categorie Operator Associativiteit
Postfix () [] -> . ++ - - Linker naar rechter
Unair + - ! ~ ++ - - (type)* & sizeof Rechter naar linker
Multiplicatief * / % Linker naar rechter
Additief + - Linker naar rechter
Shift << >> Linker naar rechter
Relationeel < <= > >= Linker naar rechter
Gelijkheid == != Linker naar rechter
Bitwise AND & Linker naar rechter
Bitwise XOR ^ Linker naar rechter
Bitwise OR | Linker naar rechter
Logical AND && Linker naar rechter
Logical OR || Linker naar rechter
Conditioneel ?: Rechter naar linker
Toewijzing = += -= *= /= %= >>= <<= &= ^= |= Rechter naar linker
Comma , Linker naar rechter

C Taal

  1. C# Operators – Uitgebreide gids voor operators in C#
  2. C++ datatypes begrijpen: fundamentals, modifiers en best practices
  3. C++ operators: complete gids met praktische voorbeelden
  4. C++ comments: best practices voor leesbare, onderhoudbare code
  5. C++ Class Templates Beheersen: Een Praktische Gids
  6. C Programmeeroperatoren Beheersen: Een Uitgebreide Gids
  7. C++ Operators Uitgelegd: Typen, Voorbeelden en Voorbeeldprogramma's
  8. C-operators: Types, functies en voorbeelden
  9. C++ Programmeertaal: Overzicht & Belangrijkste Kenmerken
  10. Python Operators onder de knie krijgen: Een uitgebreide gids
  11. Java-operators beheersen: typen, syntax en praktische voorbeelden