C Vs C ++ Vs C ++ 14 (E Verlafzäit Verglach)

Beim Programméiere kann een heiansdo an enger Positioun festgehale ginn, wéi wann Dir de Choix hutt dës Fro an C an C ++ oder C ++ 14 ze maachen, da kënnt den entscheedende Faktor fir d'Zäit ze lafen an d'Fäegkeet vum Programm un d'Verännerungen unzepassen d'Zukunft. Hei C ++, C ++ 14 hunn e Rand iwwer C well et super virgedefinéiert Funktiounen an hirer Bibliothéik genannt Standard Template Library populär bekannt als STL déi eng Rei vu C ++ Template Klassen ass fir allgemeng Programméierungs Datenstrukturen a Funktiounen wéi Lëschten, Heften ze bidden , Arrays, etc. Et ass eng Bibliothéik vu Containerklassen, Algorithmen an Iteratoren, déi Tonne Zäit spuert andeems Dir verschidde Datestrukture un de Programméierer mat engem Klick ubitt.

De wichtegen Ënnerscheed tëscht C an C ++ ass datt C eng prozedural Programméierungssprooch ass an d'Klassen an Objeten net ënnerstëtzt, während C ++ eng Kombinatioun vu béid prozedural an objektorientéierter Programméierungssprooch ass; dofir kann C ++ eng Hybrid Sprooch genannt ginn.

Wann Dir elo op de Punkt kënnt, hutt Dir vläicht héieren datt C ++ méi lues ass wéi C awer hutt Dir d'Statistiken gesinn? Nodeems mir kleng Ännerunge am Programm gemaach hunn, kënne mir en C ++ - Programm an der selwechter Zäit maachen oder heiansdo souguer méi séier wéi e korrespondent Programm geschriwwen am C. Hei hunn ech 2 Froen iwwer Binary Search gemaach an se duerno an C an C ++ an C ++ 14 codéiert an duerno hir Running Zäit verglach.

Wann Dir allgemeng Cin / Cout am C ++ benotzt, da kënnt déi folgend Ännerung ganz hëllefräich. Gitt et just am Ufank vum Programm mat a benotzt se am Main an Dir sidd gutt ze goen.

Dir kënnt fannen wat et hei mécht.

Q1. De Soap Mystery

Et ass eng allgemeng binär Sichfro an där q Ufroen ginn a mir mussen d'binär Sich q Zuel vun Zäiten op n Elementer a senger Komplexitéit ID O (Q * Log (N)) maachen, wou N keng Elementer an der Array ass.

Dir kënnt d'Léisung hei fannen.

Wann Dir et codéiert an et op groussen Testfäll leeft, ass dat wat ech hunn.

Running Zäit vum Q1 mat G ++ 5.4.0

Dir kënnt kloer gesinn datt C vill méi séier ass wéi C ++ 14 awer déi Saach ze bemierken ass datt wann Dir dës Ännerung benotzt (Boost) et ka kloer gesi ginn datt C ++ 14 an C ++ iwwer hir C Ausféierungszäit besser sinn (am Fall vun grouss Testfäll).

Q2. Ufänken Spill Entwécklung

Dëst ass eng einfach mëttel Fro déi involvéiert N binär Recherchen op enger 2-d Array mat N Zeilen a M Sailen ze maachen an dann de Minimum vun der Äntwert an all Zeil ze fannen, wat eis lescht Äntwert ass. Komplexitéit gëtt O (Nlog (M)).

Léisung kann hei fonnt ginn.

Elo codéiert et op 3 verschidde Sproochen hei ass wat ech krut:

Laafzäit vum Q2 mat G ++ 5.4.0

Och hei kann ee kloer gesinn datt C méi gutt ass wéi C ++ 14 awer mat där Ännerung benotzt C ++ méi séier wéi C.

E puer benotze souguer Getchar () opgespaart (och wann et e Sécherheetsleck huet), dat ass déi séierst ënner all dës, well et direkt liest a schreift mat Register andeems se de Streamen zwëschen (nëmme benotzt wann d'Zäit e grousse Suerg ass). Heiansdo Zäitgrenzen op Froen si sou streng datt dës Ännerungen eng entscheedend Regel spillen, ouni hinnen kann een TLE kréien.

De Compiler spillt och eng entscheedend Roll. Zwee vun hinnen sinn G ++ 5.4.0 a CLANG. E Compiler ass e Computerprogramm (oder e Set vu Programmer) deen de Quellcode transforméiert an enger Programméierungssprooch (der Quellesprooch) an eng aner Computersprooch (d'Zilsprooch) transforméiert, woubäi déi lescht dacks eng binär Form huet als Objektcode bekannt. De Compiler deen dës Aarbecht méi séier maache kann, ass besser.

PROS VUN GCC

1. GCC ënnerstëtzt Sproochen op déi de Clang net zielt, wéi Java, Ada, FORTRAN, Go, etc.

2. GCC ënnerstëtzt vill Sproochextensiounen, e puer vun deenen ginn net vum Clang implementéiert. Zum Beispill am C Modus ënnerstëtzt GCC nestéiert Funktiounen an huet eng Extensioun déi VLAs a Strs erlaabt.

PROS VUM KLANG

  1. Clang ass vill méi séier a benotzt wäit manner Erënnerung wéi GCC.
  2. Ënnerstëtzung vum Clang fir C ++ ass méi konform wéi GCC op villen Weeër.
  3. Clang ënnerstëtzt vill Sproochextensiounen, e puer vun deenen ginn net vu GCC implementéiert. Zum Beispill gëtt Clang Attributer fir Iwwerpréifung vu Fuedemsécherheet an erweidert Vektortypen.
  4. Clang gouf vun Ufank u geplangt fir extrem kloer a präzis Diagnostik ze liwweren (Fehler- a Warnungsmeldungen), an enthält Ënnerstëtzung fir expressiver Diagnostik.

Also dëst schléisst meng kleng lëschteg Aktivitéit vun der Vergläichung vun der Ausféierungszäit tëscht zwou meescht allgemeng benotzte Sproochen am Computerprogramméiere mat binäre Sich als Pivot. Ech hoffen Dir hutt e bësse Wëssen kritt andeems Dir dëst gelies hutt a fäeg sinn d'Programméierungssprooch besser ze wielen.

Glécklech Liesung!