Huis Persoonlijke financiën Uitdrukkingen en Verklaringen in C ++ Programmeren - dummies

Uitdrukkingen en Verklaringen in C ++ Programmeren - dummies

Inhoudsopgave:

Video: From C to Python by Ross Rheingans-Yoo 2024

Video: From C to Python by Ross Rheingans-Yoo 2024
Anonim

Deel van C ++ voor Dummy's Cheat Sheet

Voor het uitvoeren van een berekening in het C ++ -programma heeft u een uitdrukking nodig. Een uitdrukking is een instructie die zowel een waarde als een type heeft. In het C ++ -programma is een verklaring een verklaring die een variabele definieert of een "opslagtank" voor een soort waarde zoals een getal of teken.

Expressies

Uitdrukkingen nemen een van de volgende vormen aan:

objName // voor een expressie van een eenvoudige objectoperator // voor unaire operatoren expr1 operator expr2 // voor binaire operatoren expr1? expr2: expr3 // voor de ternaire operator funcName ([argumentlijst]); // voor functieaanroepen

Letterlijke uitdrukkingen

Een letterlijke is een vorm van constante expressie. De verschillende typen letterlijke waarden worden in de volgende tabel gedefinieerd.

Voorbeeld Type
1 int
1L lang int
1LL lang lang int
1. 0 dubbele
1. 0F zweven
'1' teken
"een tekenreeks" teken * (automatisch beëindigd met een leeg teken)
L "een tekenreeks" wchar_t * > u8 "dit is een UTF-8 string met een UTF-8 karakter: u2018"
char8_t * u "dit is een UTF-16 string met een UTF-16 karakter: u2018"
char16_t * U "dit is een UTF-32-reeks met een UTF-32-teken:
U00002018"

char32_t *

true, false
bool 0b101
binary (C ++ 2014 standaard)
Verklaringen

Verklaringen gebruiken zowel intrinsieke als door de gebruiker gedefinieerde typen. De intrinsieke types zijn

[] char [] wchar_t [] [] int float [lang] double bool

Verklaringen hebben een van de volgende vormen:

[] [const] typ var [= expression]; // variabele [] [const] type array [size] [= {list}]; // array [const] type object [(argumentlijst)]; // object [const] type object [= {argumentlijst}]; // alternatief [const] type * [const] ptr [= aanwijzeruitdrukking]; // pointer type & refName = object; // verwijzingstype fnName ([argumentlijst]); // function

Het trefwoord auto kan worden gebruikt als C ++ het type variabele zelf kan bepalen:

auto var = 1L; // het type var is lang int
Het sleutelwoord decltype haalt het type expressie eruit. Dit type kan dan overal worden gebruikt waar een type naam wordt gebruikt. In het volgende voorbeeld wordt bijvoorbeeld decltype gebruikt om een ​​tweede variabele met hetzelfde type als een bestaande variabele te declareren:

decltype (var1) var2; // het type var2 is hetzelfde als var1

Een functiedefinitie heeft de volgende notatie:

// eenvoudige functie [] type fnName (argumentlijst) {…} // ledfunctie gedefinieerd buiten de klasse [inline] type Class:: func (argumentlijst) [const] {…} // constructor / destructors kunnen ook buiten class Class worden gedefinieerd:: Class ([argument list]) {…} Class:: ~ Class () {… } // constructors / destructor kan worden verwijderd of in gebreke gesteld // in plaats van definitie Class:: Class ([argument list]) =; Klasse:: ~ Klasse () =;

Een overbelaste operator ziet eruit als een functiedefinitie.De meeste overbelaste operators kunnen worden geschreven als lid of als eenvoudige functies. Wanneer geschreven als een lidfunctie, * is dit het veronderstelde eerste argument voor de operator:

MyClass & operator + (const MyClass & m1, const MyClass & m2); // simple MyClass & MyClass:: operator + (const MyClass & m2); // lid;
Gebruikers kunnen ook hun eigen typen definiëren met behulp van de klasse- of struct-sleutelwoorden:

ClassName [: [virtual] [public] BaseClass] {: // constructor ClassName ([arg list]) ClassName () [=;] // destructor [virtueel] ~ ClassName () <{…} | [=; > // openbare gegevens leden typen dataMemberName [= initialValue]; // public member functions type memberFunctionName ([arg list]) [{…}] // const member function type memberFunctionName ([arg list]) const [{…}] // virtueel lidfuncties virtueel type memberFunctionName ([arglist]) [{…}]; // pure virtuele lidfuncties virtueel type memberFunctionName ([arg list]) = 0; // functie die een elementhefklassetype for memberFunctionName ([arg list]) moet overschrijven; // een functie die niet kan worden overschreven in een subklasse-type memberFunctionName ([arg list]) final;};

Bovendien kan een constructor met een enkel argument worden gemarkeerd als expliciete betekenis dat het niet zal worden gebruikt bij een impliciete conversie van het ene type naar het andere. Een constructor markeren als standaard betekent "gebruik de standaard C ++ constructor definitie". Markeren van een constructor als verwijderen verwijdert de standaard C ++ constructor definitie.

C ++ ondersteunt twee soorten opgesomde typen. Het volgende oude opsommingstype maakt geen nieuw type aan:

enum STATE {DC, // krijgt 0 ALABAMA, // krijgt 1 ALASKA, // krijgt 2 ARKANSAS, // krijgt 3 // … enzovoort}; int n = ALASKA; // ALASKA is van het type int

Standaard is een individueel item van het type int, maar dit kan worden gewijzigd in de C ++ 2011-standaard:

enum ALPHABET: char {A = 'a', // gets 'a' B, // wordt 'b' C, // wordt 'c' // … enzovoort}; char c = A; // A is van het type char

C ++ 2011 staat een tweede indeling toe die wel een nieuw type maakt:

// de volgende opsomming definieert een nieuw type STATE enum class STATE {DC, // krijgt 0 ALABAMA, // krijgt 1 ALASKA, // krijgt 2 ARKANSAS, // krijgt 3 // … enzovoort}; STATE s = STATE:: ALASKA; // nu STATE is een nieuw type // het volgende gebruikt een ander onderliggend type enum klasse ALPHABET: char {A = 'a', // krijgt 'a' B, // gets 'b' C, // gets 'c ' //… enzovoort}; ALFABET c = ALFABET:: A; // A is van het type ALPHABET
Sjabloondeclaraties hebben een iets ander formaat:

// type T wordt geleverd door de programmeur bij gebruikssjabloontype FunctionName ([arg list]) template class ClassName {{…}};
Uitdrukkingen en Verklaringen in C ++ Programmeren - dummies

Bewerkers keuze

Een Oracle-omgeving instellen - dummies

Een Oracle-omgeving instellen - dummies

Als u een typische PL / SQL-omgeving wilt instellen, hebt u de volgende componenten: Databaseserver: dit is een computer (of een reeks computers) die de Oracle-database uitvoert. Oracle werkt in veel populaire computeromgevingen. De meest gebruikte met Oracle zijn UNIX, Linux of een versie van Microsoft Windows. PL / SQL wordt meestal uitgevoerd ...

SQL-rijwaarden en -waarden - dummies

SQL-rijwaarden en -waarden - dummies

De waarden die worden bewaard in de cellen die de snijpunten van de SQL-database vormen De rijen en kolommen van de tabel zijn de grondstoffen waaruit u zinvolle relaties en trends kunt afleiden. Rijwaarden De meest zichtbare waarden in een database zijn tabelrijwaarden. Dit zijn de waarden die elke rij van een databasetabel ...

SQL eerste, tweede en derde normale vormen - dummies

SQL eerste, tweede en derde normale vormen - dummies

Er zijn drie bronnen van wijzigingsanomalieën in SQL Deze worden gedefinieerd als eerste, tweede en derde normale vormen (1NF, 2NF, 3NF). Deze normale vormen fungeren als remedies voor het wijzigen van anomalieën. Eerste normale vorm Om in de eerste normale vorm (1NF) te zijn, moet een tabel de volgende eigenschappen hebben: De tabel is tweedimensionaal met rijen en ...

Bewerkers keuze

Een kijkje nemen in het syndroom van Empty-Nest - dummies

Een kijkje nemen in het syndroom van Empty-Nest - dummies

Een veel voorkomende misvatting is dat wanneer de kinderen van een stel vertrekken thuis, zullen pappa en mama het syndroom van empty-nest ontwikkelen. Ja, ze hebben misschien een leeg nest, maar voor sommige paren bloeit hun liefdesleven in deze periode van hun leven. De slachtoffers van het syndroom zijn de paren waarvan de relatie uit elkaar valt als zij de enige ...

STD's: wat u moet weten over herpes - dummies

STD's: wat u moet weten over herpes - dummies

Herpes, veroorzaakt door het herpes simplex-virus (HSV) ), is een ongeneeslijke SOA. Herpes heeft eigenlijk twee vormen: herpes simplex-type 1 (HSV-1) en herpes simplex-type 2 (HSV-2). HSV-1 wordt meestal geassocieerd met koortsblaasjes en koortsblaren boven de taille. "Ongeveer 80 procent van de Amerikaanse volwassenen heeft orale herpes. Ongeveer 25 procent van ...

Tiener Geslacht: hoe te weten Hoe ver te gaan - dummies

Tiener Geslacht: hoe te weten Hoe ver te gaan - dummies

Een van de grootste vragen voor tieners is niet "Zou ik seks moeten hebben? "Maar" Hoe ver moet ik gaan? "Terwijl het eigen comfortniveau en dat van de partner de topprioriteit zou moeten zijn in deze beslissing, spelen andere factoren een rol, vooral als tieners dat amorfe concept van" het derde honk overwegen. "" Derde basis "...

Bewerkers keuze

Tien voorwaarden American Football Announcers Gebruik - dummies

Tien voorwaarden American Football Announcers Gebruik - dummies

Een van de moeilijkste en meest intimiderende onderdelen over het volgen van een Amerikaans voetbalwedstrijd is dat de presentatoren soms een vreemde taal lijken te spreken die alleen bekend is bij echte voetballiefhebbers. Maar als je een aantal belangrijke termen onthoudt, ben je ver voor op het spel. Hier zijn enkele voetbaltermen die je misschien hoort, ...

Het begin van een voetbalspel: The Kickoff - dummies

Het begin van een voetbalspel: The Kickoff - dummies

Voor Amerikaanse voetbalfans, de openingsaftrap is een opwindende start voor elke game. Ze zien de tweezijdige sensatie van het ene team dat probeert het andere te blokkeren en helpt de herhaler om door en voorbij 11 snelladers van het trapende team te rennen. (Wel, maak die tien spelers.De kicker staat meestal rond de 50-yard-lijn, ...

Uw voetbalcoachtoelen afstemmen op een leeftijdsgroep - dummies

Uw voetbalcoachtoelen afstemmen op een leeftijdsgroep - dummies

Elk kind in uw team is anders zoveel manieren. Sommigen zijn begaafde hardlopers, anderen kunnen duizelingwekkende vangsten maken en wat moeite om simpelweg de basistechnieken van het spel te vatten. Ongeacht de sterke en zwakke punten van de kinderen, die overal op de kaart staan, hebben jongeren algemene kenmerken die worden beïnvloed ...