C++ syntax
Megjelenés
Főnév
C++ syntax (tsz. C++ syntaxes)
- (informatika) A C++ szintaxis a nyelv formális szabályrendszere, amely meghatározza, hogyan kell kódot írni ahhoz, hogy a fordító megértse és lefordítsa azt. A C++ szintaxisa a C nyelvre épül, de kibővül osztályokkal, sablonokkal, típusbiztonsági és objektumorientált elemekkel.
🔹 Alapvető C++ szintaxis elemek
1. Hello, World!
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
🔹 2. Típusok és változók
int x = 42;
double pi = 3.1415;
char ch = 'A';
bool isTrue = true;
🔹 3. Operátorok
🔹 Aritmetikai operátorok
Ezekkel alapvető matematikai műveleteket végezhetsz:
+– összeadás-– kivonás*– szorzás/– osztás%– maradékos osztás (modulo)
🔹 Relációs (összehasonlító) operátorok
Logikai igaz/hamis értékeket adnak vissza:
==– egyenlőség!=– nem egyenlő<– kisebb>– nagyobb<=– kisebb vagy egyenlő>=– nagyobb vagy egyenlő
🔹 Logikai operátorok
Feltételek kombinálására szolgálnak:
&&– logikai ÉS||– logikai VAGY!– logikai negálás (nem)
🔹 Bitműveleti operátorok
Ezek az operandusokat bitenként kezelik:
&– bitenkénti ÉS|– bitenkénti VAGY^– bitenkénti kizáró VAGY (XOR)~– bitenkénti negálás<<– balra tolás>>– jobbra tolás
🔹 Értékadó operátorok
Változók értékének beállítására és módosítására:
=– értékadás+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=– kombinált értékadók
🔹 Egyéb operátorok
sizeof– típus vagy objektum memóriaméretét adja vissza?:– ternáris operátor (feltételes)typeid– típusinformáció lekérdezésestatic_cast,dynamic_cast,const_cast,reinterpret_cast– típuskonverziós operátorok
🔹 4. Elágazások
if (x > 0) {
std::cout << "Pozitív";
} else {
std::cout << "Nem pozitív";
}
🔹 5. Ciklusok
for (int i = 0; i < 10; ++i)
std::cout << i;
while (x > 0)
--x;
do {
std::cout << x;
} while (x > 0);
🔹 6. Függvények
int osszeg(int a, int b) {
return a + b;
}
🔹 7. Osztályok és objektumorientált programozás
class Auto {
int sebesseg;
public:
void gyorsit() { ++sebesseg; }
int getSebesseg() const { return sebesseg; }
};
🔹 8. Öröklés és polimorfizmus
class Allat {
public:
virtual void hang() { std::cout << "??"; }
};
class Kutya : public Allat {
public:
void hang() override { std::cout << "Vau!"; }
};
🔹 9. Sablonok (Templates)
template<typename T>
T maximum(T a, T b) {
return (a > b) ? a : b;
}
🔹 10. STL (Standard Template Library)
#include <vector>
#include <algorithm>
std::vector<int> v = {3, 1, 4};
std::sort(v.begin(), v.end());
🔹 11. Kivételkezelés (Exceptions)
try {
throw std::runtime_error("Hiba");
} catch (const std::exception& e) {
std::cerr << e.what();
}
🔹 12. Névtér (namespace)
namespace app {
int val = 10;
}
int main() {
std::cout << app::val;
}
🔹 13. Modern nyelvi elemek (C++11–C++23)
| Szintaktikai elem | Példa |
|---|---|
auto típus |
auto x = 10; |
nullptr |
int* p = nullptr; |
| Lambda kifejezés | [](int x){ return x*x; } |
constexpr |
constexpr int f() { return 5; } |
| Range-based for | for (int x : v) |
std::optional, variant, any |
C++17 |
concept |
template<Sortable T> (C++20) |
co_yield, co_return |
Coroutine szintaxis (C++20) |
print, format |
std::print("{}", x); (C++23) |
🔚 Összefoglalás
A C++ szintaxisa:
- C-re épül, de sokkal összetettebb
- Kombinálja a procedurális, objektumorientált, és generikus programozás eszközeit
- Egyre modernebbé válik a C++11-től kezdődően (pl. lambdák, típusinferencia, ranges)
- Nagyon szigorú típusellenőrzést biztosít, mégis rugalmas és hatékony
- C++ syntax - Szótár.net (en-hu)
- C++ syntax - Sztaki (en-hu)
- C++ syntax - Merriam–Webster
- C++ syntax - Cambridge
- C++ syntax - WordNet
- C++ syntax - Яндекс (en-ru)
- C++ syntax - Google (en-hu)
- C++ syntax - Wikidata
- C++ syntax - Wikipédia (angol)