Kezdőoldal » Számítástechnika » Programozás » A programozóknak nem okoz...

A programozóknak nem okoz gondot, hogy változik a szabvány az újabb fordítóknál?

Figyelt kérdés

Minden régebben írt cpp programba be kellene írni, hogy using namespace std; meg kitörölni a .h kiterjesztéseket az #include sorokban, ha újabb fordítóval dolgozunk, mint régebben?


Meg ki tudja mi mást kell még átírni?


2016. nov. 18. 23:09
1 2
 1/16 anonim ***** válasza:

Nem.

Nem, visszafelé kompatibilis.


Bill Gates.

2016. nov. 18. 23:44
Hasznos számodra ez a válasz?
 2/16 anonim ***** válasza:

A CPP nem Java, hogy a fele deprecated :-)


"Minden régebben írt cpp programba be kellene írni, hogy using namespace std; meg kitörölni a .h kiterjesztéseket az #include sorokban, ha újabb fordítóval dolgozunk, mint régebben?"


Miért kellene?

A nyelv részét képező fájlokat kivenni nem fogják, már csak a C-vel való kompatibilitás miatt sem. Természetesen illik a CPP-s megfelelőket használni a C-sek helyett.

A using direktívával pedig el nem tudom képzelni mit akarsz. Egyrészt a using kifejezetten kerülendő, másrészt a CPP első verziója óta van (tudtommal), ha akkor nem használták (helyesen), akkor miért akarnák most?

2016. nov. 18. 23:53
Hasznos számodra ez a válasz?
 3/16 anonim ***** válasza:
100%

Már miért kellett volna? Egyrészt, attól, hogy lesz pl c++17 szabvány, attól még te ugyanúgy fordíthatsz a c++11-es szabvány szerint. Egy.


Kettő. Az új szabványok nem szoktak semmit eltávolítani a régiekből, hanem kibővítik a nyelvet. Új függvénykönyvtárakat hoznak be, esetleg néhány új szintaktikai illetve szemantikai szabályt, nagyritkán kulcsszót. Stb. De attól még ugyanaz a kód le fog fordulni, ami a régebbi szabványban is lefordult.

2016. nov. 18. 23:56
Hasznos számodra ez a válasz?
 4/16 anonim ***** válasza:
100%
Vannak dolgok amiket eltávolítanak a régebbi szabványból, de nem hasracsapás szerűen, előre lehet tudni miket, miért. Egyébként a 2 felvetett problémád egy programozónak se lenne probléma, nem manuálisan csinálnák.
2016. nov. 19. 00:06
Hasznos számodra ez a válasz?
 5/16 anonim ***** válasza:
Komolytalan kérdés.
2016. nov. 19. 08:41
Hasznos számodra ez a válasz?
 6/16 anonim ***** válasza:
HA netán mégis valami nagy változás lenne, amiről tudnod kell, akkor warningot és error fogsz kapni.
2016. nov. 19. 17:37
Hasznos számodra ez a válasz?
 7/16 anonim ***** válasza:
Pontosan. Meg egy valamire való projektnél ki van kötve, hogy miből pontosan milyen verziót használnak, milyen szabvány szerint fordítanak, ésatöbbi. Egy verzióugrást, vagy szabványváltást gondosan végeznek, biztosítva, hogy nem okoz conflictot a jelenlegi kódban (és eleve nem szoktak angyon verziót ugrani, hacsak nem szükséges valamilyen új feature használata miatt)
2016. nov. 19. 17:47
Hasznos számodra ez a válasz?
 8/16 A kérdező kommentje:

Régebbi c++ fordító hibát jelzett a using namespace std; sorra,

míg az újabb nem fordította le az a sor nélkül, és az újabb hibát jelzett ha <iostream> helyett <iostream.h>-t írtam, tehát nem tűnik visszafelé kompatibilisnek.

2016. nov. 20. 08:53
 9/16 anonim ***** válasza:

# 8/8 Időpont ma 08:53


Kérjük a fordítási parancsot, a fordító hibaüzeneteit, meg a kódot, és megmondjuk mi a hiba. Mert nem az, amit mondasz.

2016. nov. 20. 09:57
Hasznos számodra ez a válasz?
 10/16 anonim ***** válasza:

Mondjuk egy másik különbség, hogy tudtommal pl. a <cstdio> és a <stdio.h> ugyanazt jelenti C++-ban, de az <iostream> és az <iostream.h> egyáltalán nem.


Előbbi C-s (!) és nem C++-os kompatibilitás miatt van.

Persze van, hogy így is sírnak a C++ fordítók C kódért (castolás, ilyesmi), de az talán még rendben is van.

2016. nov. 20. 13:20
Hasznos számodra ez a válasz?
1 2

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!