- Kas ir C++: daudzparadigmu valoda, kas radusies kā C paplašinājums un apvieno zema līmeņa vadību ar augsta līmeņa abstrakcijām.
- Evolūcija: izveidojis Bjarne Stroustrups; mūsdienu standarti (C++17, C++20) ievieš moduļus, koncepcijas un korutīnas.
- Galvenās funkcijas: objektorientēta programmēšana, veidnes, manuāla atmiņas pārvaldība un visaptverošs standarta bibliotēku komplekts.
- Lietojumprogrammas un rīki: tiek izmantoti sistēmās, videospēlēs un datubāzēs; kompilatoros (GCC, Clang, MSVC) un IDE, piemēram, Visual Studio vai CLion.
C++ ir viena no ietekmīgākajām un visplašāk izmantotajām programmēšanas valodām programmatūras izstrādes pasaulē. Kopš tās izveides līdz mūsdienām tas ir attīstījies, lai kļūtu par jaudīgu un daudzpusīgu rīku, kas programmētājiem ļauj izveidot efektīvas un augstas veiktspējas lietojumprogrammas. Šajā rakstā mēs pamatīgā veidā apskatīsim ievadu C++ valodā.
Ievads C++ valodā
Kas ir C++?
C++ ir vispārējas nozīmes programmēšanas valoda, kas apvieno gan zemā, gan augsta līmeņa programmēšanas iezīmes. Tā tika izstrādāta kā C valodas paplašinājums , pievienojot jaunas funkcijas, piemēram, objektorientētu programmēšanu. Tās daudzpusība padara to ideāli piemērotu visu veidu izstrādei, sākot no operētājsistēmām līdz videospēlēm.
Vēsture un evolūcija
C++ vēsture aizsākās 1979. gadā, kad Bjarne Stroustrups sāka strādāt pie tā, ko viņš sauca par "C ar klasēm". Viņa mērķis bija uzlabot C, pievienojot funkcijas no citām valodām , piemēram, Simula. 1983. gadā valoda tika pārdēvēta par C++, un kopš tā laika tā ir piedzīvojusi vairākas pārskatīšanas un standartizācijas, un C++20 bija jaunākā versija rakstīšanas laikā.
C++ pamati
Lai sāktu programmēt C++, ir svarīgi saprast tās pamatjēdzienus. Apskatīsim būtiskos elementus, kas veido šīs valodas pamatu.
Pamata sintakse
C++ sintakse ir līdzīga C, taču ar dažiem svarīgiem papildinājumiem. Tipiska C++ programma sākas ar nepieciešamo bibliotēku iekļaušanu, kam seko funkcija main(), kas ir programmas ieejas punkts. Piemēram:
#include <iostream>
int main() {
std::cout << "¡Hola, mundo!" << std::endl;
return 0;
}
Šī vienkāršā programma parāda klasisko "Sveika, pasaule!" uz ekrāna.
Datu veidi un mainīgie
C++ piedāvā plašu datu tipu klāstu, tostarp:
- Veseli skaitļi (
int) - Peldošā komata skaitļi (
float,double) - Rakstzīmes (
char) - Būla vērtības (
bool) - Masīvi
- Norādes
Mainīgie tiek deklarēti, norādot datu tipu, kam seko mainīgā nosaukums. Piemēram:
int edad = 25; float altura = 1.75; char inicial = 'A'; bool esEstudiante = true;
Kontroles struktūras
Vadības struktūras ir būtiskas jebkurā programmēšanas valodā, un C++ nav izņēmums. Tie ļauj mums kontrolēt mūsu programmu izpildes plūsmu.
Nosacījumi
Nosacījuma struktūras ļauj izpildīt dažādus koda blokus atkarībā no noteiktiem nosacījumiem. Visizplatītākie ir if,
else if y else. Piemēram:
int edad = 18;
if (edad >= 18) {
std::cout << "Eres mayor de edad" << std::endl;
} else {
std::cout << "Eres menor de edad" << std::endl;
}
Cilpas
Cilpas ļauj mums vairākas reizes atkārtot koda bloku. C++ piedāvā vairāku veidu cilpas:
- forums: Ideāli, ja mēs zinām precīzu atkārtojumu skaitu.
- kamēr: tiek izpildīts, kamēr nosacījums ir patiess.
- darīt kamēr: Līdzīgi kā while, bet garantē vismaz vienu izpildi.
For cilpas piemērs:
for (int i = 0; i < 5; i++) {
std::cout << i << " ";
}
// Salida: 0 1 2 3 4
Funkcijas programmā C++
Funkcijas ir atkārtoti lietojami koda bloki, kas veic noteiktus uzdevumus. Tie ir būtiski, lai organizētu un strukturētu mūsu programmas.
Deklarācija un definīcija
Programmā C++ mēs parasti deklarējam funkcijas galvenes failos (.h) un definējam tās ieviešanas failos (.cpp). Funkcijas deklarācijā ir iekļauts tās nosaukums, atgriešanas veids un parametri, savukārt definīcija ietver arī funkcijas pamattekstu.
// Declaración (en archivo .h)
int sumar(int a, int b);
// Definición (en archivo .cpp)
int sumar(int a, int b) {
return a + b;
}
Parametru nodošana
C++ ļauj nodot parametrus funkcijām dažādos veidos:
- Pēc vērtības: tiek izveidota argumenta kopija.
- Uzziņai: argumenta atmiņas adrese ir nodota.
- Pēc rādītāja: līdzīgs atsaucei, bet elastīgāks.
Piemērs nodošana ar atsauci:
void incrementar(int &numero) {
numero++;
}
int main() {
int x = 5;
incrementar(x);
std::cout << x; // Salida: 6
return 0;
}
Objektorientēta programmēšana
Viena no jaudīgākajām C++ funkcijām ir tās atbalsts objektorientētai programmēšanai (OOP). Šī paradigma ļauj mums sakārtot mūsu kodu struktūrās, ko sauc par klasēm, kas iekapsulē saistītos datus un uzvedību.
Klases un objekti
Klase ir veidne objektu izveidei. Definē īpašības (atribūtus) un uzvedību (metodes), kas būs šīs klases objektiem. Piemēram:
class Persona {
private:
std::string nombre;
int edad;
public:
Persona(std::string n, int e) : nombre(n), edad(e) {}
void saludar() {
std::cout << "Hola, soy " << nombre << " y tengo " << edad << " años." << std::endl;
}
};
int main() {
Persona p1("Ana", 25);
p1.saludar(); // Salida: Hola, soy Ana y tengo 25 años.
return 0;
}
Mantojums un polimorfisms
Mantojums ļauj izveidot jaunas klases, pamatojoties uz esošajām klasēm, pārmantojot to atribūtus un metodes. No otras puses, polimorfisms ļauj izmantot kopīgu saskarni dažādiem datu tipiem.
class Estudiante : public Persona {
private:
std::string carrera;
public:
Estudiante(std::string n, int e, std::string c) : Persona(n, e), carrera(c) {}
void estudiar() {
std::cout << "Estoy estudiando " << carrera << std::endl;
}
};
Atmiņas pārvaldība
C++ piedāvā precīzu atmiņas pārvaldības kontroli, kas nodrošina ļoti efektīvas programmas, taču arī programmētājam ir nepieciešama lielāka piesardzība.
Norādes
Rādītāji ir mainīgie, kas saglabā atmiņas adreses. Tie ir spēcīgs rīks, bet arī bieži sastopams kļūdu avots, ja tos neizmanto pareizi.
int x = 5; int *ptr = &x; std::cout << *ptr; // Salida: 5
Dinamiskā piešķiršana
C++ ļauj programmas izpildes laikā dinamiski piešķirt atmiņu. Tas ir noderīgi, ja mēs iepriekš nezinām, cik daudz atmiņas mums būs nepieciešams.
int *arr = new int[10]; // Asigna un array de 10 enteros // ... usar el array ... delete[] arr; // Liberar la memoria cuando ya no se necesita
Standarta bibliotēkas
C++ ir aprīkots ar bagātīgu standarta bibliotēku, kas nodrošina daudzas noderīgas funkcijas.
iostream
Šī bibliotēka nodrošina funkcionalitāti ievade un izvade no datiem. Objekti cin y cout ir īpaši noderīgi:
#include <iostream>
int main() {
int numero;
std::cout << "Introduce un número: ";
std::cin >> numero;
std::cout << "Has introducido: " << numero << std::endl;
return 0;
}
vektors un virkne
vector ir dinamiska masīva ieviešana, kamēr string ir klase teksta virkņu apstrādei ērtāk nekā tradicionālie rakstzīmju masīvi.
#include <vector>
#include <string>
std::vector<int> numeros = {1, 2, 3, 4, 5};
std::string saludo = "Hola, mundo!";
Izņēmumu apstrāde
Izņēmumu apstrāde ir paņēmiens kļūdu un neparedzētu situāciju risināšanai mūsu programmās.
Pamēģini, noķer un met
Mēs izmantojam try lai aplauztu kodu, kas varētu radīt izņēmumu, catch lai nozvejotu un apstrādātu izņēmumu, un throw mest izņēmumu.
#include <stdexcept>
try {
int resultado = dividir(10, 0);
} catch (const std::runtime_error& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
Veidnes
Veidnes ir jaudīga C++ funkcija, kas ļauj rakstīt vispārīgu kodu, kas darbojas ar dažādiem datu tipiem.
Veidnes funkcijas
Veidnes funkcija var darboties ar vairākiem datu tipiem:
template <typename T>
T maximo(T a, T b) {
return (a > b) ? a : b;
}
int main() {
std::cout << maximo(3, 7) << std::endl; // Salida: 7
std::cout << maximo(3.14, 2.72) << std::endl; // Salida: 3.14
return 0;
}
Veidņu klases
Līdzīgi kā veidņu funkcijas, mēs varam izveidot klases, kas darbojas ar vispārīgiem tipiem:
template <typename T>
class Contenedor {
private:
T elemento;
public:
void setElemento(T e) { elemento = e; }
T getElemento() { return elemento; }
};
Laba programmēšanas prakse
Labas programmēšanas prakses pārņemšana ir būtiska, lai rakstītu kvalitatīvu C++ kodu.
Kodēšanas stils
Konsekventa kodēšanas stila uzturēšana uzlabo koda lasāmību. Daži ieteikumi:
- Izmantojiet aprakstošus nosaukumus mainīgajiem un funkcijām.
- Saglabājiet konsekventu ievilkumu.
- Ja nepieciešams, komentējiet kodu.
Optimizācija
C++ nodrošina augstu optimizācijas pakāpi. Dažas metodes ietver:
- Kad vien iespējams, izmantojiet atsauces, nevis kopijas.
- Izvairieties no nevajadzīgas pagaidu objektu izveides.
- Katram uzdevumam izmantojiet atbilstošās datu struktūras.
Izstrādes rīki
Lai efektīvi programmētu C++, ir svarīgi, lai būtu pareizie rīki.
Kompilatori
Populāri C++ kompilatori ietver:
- GCC (GNU kompilatoru kolekcija)
- Klans
- Microsoft Visual C ++
Populāri IDE
Dažas populāras C++ integrētās izstrādes vides (IDE) ir šādas:
- Visual Studio
- clion
- Kods :: Bloki
- Eclipse ar CDT spraudni
Praktiski pielietojumi
C++ tiek izmantots visdažādākajās jomās, pateicoties tās efektivitātei un daudzpusībai.
Programmatūras izstrāde
C++ tiek plaši izmantots, izstrādājot:
- Operētājsistēmas
- Tīmekļa pārlūkprogrammas
- Datu bāzes
- biroja programmatūra
Video
Daudzi augstas veiktspējas spēļu dzinēji un spēles ir rakstītas C++ valodā, tostarp:
- Unreal Engine
- CryEngine
- Tādas spēles kā World of Warcraft un Counter-Strike
Resursi, lai mācītos C++
Lai turpinātu mācīties un uzlabot savas C++ prasmes, šeit ir daži ieteicamie resursi.
Ieteicamās grāmatas
- Stenlija Lipmena, Hosē Lahoī un Barbaras E. Mū "C++ Primer"
- Skots Mejerss "Efektīvais C++".
- Bjarne Stroustrup "C++ programmēšanas valoda".
tiešsaistes kursi
- C++ programmētājiem vietnē Udacity
- C++ apmācība pilnīgiem iesācējiem par Udemy
- C++ programmēšanas kurss par edX
Bieži uzdotie jautājumi par ievadu C++ valodā
1. Vai C++ ir grūti apgūt?
C++ sākumā var būt sarežģīts, it īpaši, ja tā ir jūsu pirmā programmēšanas valoda. Tomēr ar praksi un centību to ir iespējams apgūt. Sāciet ar pamatiem un pakāpeniski pārejiet pie sarežģītākām tēmām.
2. Kāda ir atšķirība starp C un C++?
C++ ir C paplašinājums, kas pievieno tādas funkcijas kā objektorientēta programmēšana, izņēmumu apstrāde un veidnes. Kamēr C ir procesuālā valoda, C++ ir vairāku paradigmu valoda.
3. Kāda veida projektiem C++ ir vispiemērotākais?
C++ ir ideāli piemērots projektiem, kuriem nepieciešama augsta veiktspēja un precīza sistēmas resursu kontrole. To plaši izmanto sistēmu izstrādē, videospēlēs, darbvirsmas lietojumprogrammās un iegultajā programmatūrā.
4. Kā es varu uzlabot savu C++ kodu?
Lai uzlabotu savu C++ kodu, regulāri praktizējieties, lasiet citu programmētāju kodu, piedalieties atvērtā pirmkoda projektos un sekojiet līdzi jaunām valodas funkcijām. Ir arī noderīgi iepazīties ar dizaina modeļiem un optimizācijas metodēm.
5. Kādas ir C++ priekšrocības salīdzinājumā ar citām programmēšanas valodām?
C++ piedāvā lielisku līdzsvaru starp efektivitāti un abstrakciju. Tas ļauj zemā līmenī kontrolēt sistēmas resursus, vienlaikus nodrošinot spēcīgas augsta līmeņa abstrakcijas. Turklāt tās plašā ieviešana nozīmē, ka ir pieejams daudz bibliotēku un resursu.
6. Kādi ir jaunākie sasniegumi C++?
Jaunākajās C++ versijās (C++17, C++20) ir ieviestas jaunas funkcijas, piemēram, moduļi, koncepcijas, diapazoni un korutīnas. Šie uzlabojumi padara valodu izteiksmīgāku un vieglāk lietojamu, vienlaikus saglabājot tai raksturīgo efektivitāti.
C++ valodas ievada noslēgums
Šajā rakstā aplūkotā C++ valodas ievadlekcija ir tikai neliela daļa no tā, ko šī spēcīgā valoda var piedāvāt. Sākot ar pamatiem un beidzot ar vismodernākajām funkcijām, C++ joprojām ir neaizstājams rīks programmatūras izstrādes pasaulē.
Visā mūsu ceļojuma laikā mēs esam redzējuši, kā C++ apvieno zema līmeņa programmēšanas efektivitāti ar augsta līmeņa abstrakcijām, ļaujot izstrādātājiem izveidot visu, sākot no operētājsistēmām līdz sarežģītām videospēlēm. Pamata sintakse, vadības struktūras un objektorientētas programmēšanas koncepcijas veido pamatu, uz kura tiek veidotas spēcīgas, augstas veiktspējas lietojumprogrammas.
Mēs esam izpētījuši arī papildu funkcijas, piemēram, atmiņas pārvaldību, veidņu izmantošanu un izņēmumu apstrādi, kas nodrošina C++ unikālu elastību un jaudu. Savukārt standarta bibliotēkas nodrošina lietošanai gatavus rīkus, kas paātrina izstrādi un uzlabo produktivitāti.
Ir svarīgi atcerēties, ka C++ apguve ir nepārtraukts ceļojums. Valoda nepārtraukti attīstās, katrā versijā ieviešot jaunas funkcijas un uzlabojumus. Tāpēc ir ļoti svarīgi sekot līdzi jaunumiem un turpināt praktizēt, lai maksimāli izmantotu visu, ko piedāvā C++.
Neatkarīgi no tā, vai jūs tikko sākat programmēšanas braucienu vai vēlaties paplašināt savas prasmes, C++ piedāvā plašu iespēju pasauli. Ar savu unikālo efektivitātes, elastības un izteiksmes jaudas kombināciju C++ saglabās pamatvalodu programmēšanas vidē daudzus gadus.
Atcerieties, ka C++ apguves atslēga ir pastāvīga prakse un koncepciju pielietošana reālos projektos. Nebaidieties eksperimentēt, kļūdīties un mācīties no tām. Katra jūsu rakstītā koda rindiņa ir soli tuvāk tam, lai kļūtu par C++ ekspertu.
Vai esat gatavs ienirt dziļāk aizraujošajā C++ pasaulē? Ceļojums ir tikko sācies!
Vai šis ievads C++ valodā jums šķita noderīgs? Ja tā, lūdzu, dalieties ar šo rakstu ar saviem kolēģiem programmētājiem vai tiem, kuri vēlas iekļūt programmēšanas pasaulē. Kopā mēs varam izveidot spēcīgāku, uz sadarbību vērstu C++ izstrādātāju kopienu. Kopīgojiet tagad un palīdziet citiem atklāt C++ spēku!
Indekss
- 1 Ievads C++ valodā
- 2 C++ pamati
- 3 Kontroles struktūras
- 4 Funkcijas programmā C++
- 5 Objektorientēta programmēšana
- 6 Atmiņas pārvaldība
- 7 Standarta bibliotēkas
- 8 Izņēmumu apstrāde
- 9 Veidnes
- 10 Laba programmēšanas prakse
- 11 Izstrādes rīki
- 12 Praktiski pielietojumi
- 13 Resursi, lai mācītos C++
- 14 Bieži uzdotie jautājumi par ievadu C++ valodā
- 15 C++ valodas ievada noslēgums