Kezdőoldal » Számítástechnika » Programozás » Ma is igaz, hogy minden C...

Ma is igaz, hogy minden C nyelven írt program egyúttal szabványos a C++ nyelv szerint, vagy a C nyelvben már vannak olyan elemek, amik a C++-nak nem részei?

Figyelt kérdés

2017. okt. 1. 19:03
 1/7 anonim ***** válasza:
0%
Nem értem. A C nyelv a korábbi, a C++ a szigorúbb.
2017. okt. 1. 19:05
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:
Régen a C nyelv a C++ részének tekinthető volt. De ha jól tudom, azóta vannak olyan elemek a C nyelvben, amik már nem részei a C++ nyelvnek.
2017. okt. 1. 19:14
 3/7 anonim ***** válasza:

Többé-kevésbé. A mantra, miszerint a legtöbb C kód C++ kódként is fordítható, továbbra is fennáll. Mindazonáltal vannak különbségek, az egyik ilyen pl, hogy C++-ban nincsen VLA (Variable Length Array), röviden nem csinálhatsz meg egy ilyet:


int n;

scanf("%d",n);

int arr[n];


Ez C szerint valid kód, C++ szerint nem. A C++ szabvány nem engedi meg azt, hogy egy tömb méretét futási időben ismerje meg a program.

2017. okt. 1. 20:23
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:
Előző mér nem? Miért jó ez így?
2017. okt. 1. 20:56
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:
100%
A C++ minden bizonnyal azért nem támogatja ezt a megközelítést, mert ez a tömb a stack-en foglalna helyet, és rossz ötlet az amúgy limitált stack-re ráereszteni egy tárolót ami a jóégtudja mekkora lesz. Éppezért fordítási időben ismeretlen méretű tömböt csak dinamikus tömbként, a heap-en lehet létrehozni.
2017. okt. 1. 21:03
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:
Így már értem. :D
2017. okt. 1. 22:45
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:
100%

A C11-es szabványtól a VLA csak opcionális, tehát nem kötelező implementálni a fordító készítőinek.


Egyébként itt van példa arra mi fordul C-ben és C++-ban nem: [link]

2017. okt. 2. 12:25
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!