Forum: Skillnaden mella C och C++

Forum huvudsida -> Programmering -> Skillnaden mella C och C++

Sidor: 1

Till botten

jockepockee 20:58 - 21:a Mars 2007 | Post #1
Medlem
Inlägg: 192


Skicka PM
jag skulle vilja lära mig c men efter som jag redan kan c++ (ganska bra) så undrar jag, vad är skillnadnen mellan c och c++? vet att c inte har klasser mm som c++ har men kan man göra samma saker i c som med c++ och tvärtom?

-------------------------





Independence 21:25 - 21:a Mars 2007 | Post #2
Administratör
Inlägg: 1800


Skicka PM
C har inte klasser, namnrymder, referenser (man använder pekare) och inte stringstreams. Det finns säker flera skillnader, men det var dem jag kom på just nu.
-verlag brukar C kod gå att kompilera i C++-kompilatorer (så är dock inte alltid fallet, det finns tydligen undantagSmiley ), men inte tvärt om.

-------------------------

Vi är riddarna som säger fiskbulle!





nibbo 22:37 - 21:a Mars 2007 | Post #3
Administratör
Inlägg: 446


Skicka PM
Ozamosi nämde nått om att c++ kunde vara lite overkill i vissa sammanhang och att man då kunde använda typ C, ska man tolka det som att C är simplare?

-------------------------
Ja! Det är en ,,KTA pungsvansknapp på min avatar!



sdac 23:03 - 21:a Mars 2007 | Post #4
Medlem
Inlägg: 235


Skicka PM
All C-kod som följer C90-standarden går att kompilera med C++-kompilatorer, det kan dock behövas lite casting och annat. Kod under C99-standarden går ibland inte att kompilera med en C++-kompilator. Jag tänker inte ta upp exempel, men jag kan ju säga så mycket som att C++-standarden skrevs 1998 och C99-standarden kom 1999...

Det som skiljer C och C++ åt mest är standardbiblioteken.

    Citat av nibbo:
Ozamosi nämde nått om att c++ kunde vara lite overkill i vissa sammanhang och att man då kunde använda typ C, ska man tolka det som att C är simplare?


Det han antagligen menar är att C är mer minimalistiskt. C är betydligt svårare än C++ om man använder respektive standardbibliotek för båda, annars är det ingen skillnad förutom att man inte kan hålla på med templates, klasser och så vidare.

På frågan om man kan göra samma saker i C som i C++; Allt du kan göra i C kan du göra i C++. Och allt du kan göra i C++ kan du även göra i C, men då måste du mycket oftare göra det själv istället för att göra det genom ett standardbiblioteket.

Om man håller på med saker på lägre nivå, t.ex. drivrutiner och annat, är ofta C ett bättre alternativ i och med att det går mycket snabbare att kompilera och man har mer kontroll över vad som händer. Man slipper även errors om småsaker som att casta pekare, kasta omkring void*-pekare och så vidare.

I C++ skickas pekaren till en klass som "this" när man vill köra en funktion för en klass, vill du ha samma sak i C får du skicka pekaren själv som ett argument, och skapa en egen "this" i funktionen.

Vissa keywords, t.ex. "new" och "this", kan förekomma som variablenamn i C-kod, och då klagar C++-kompilatorer eftersom det är restricted keywords i C++.

Edit: Skrev fel, man får inte warnings i C++ om man inte castar vissa pekare när man flyttar dem till andra typer, man får ERRORs.


Senast redigerad 23:11 - 21:a Mars 2007


main 01:31 - 22:a Mars 2007 | Post #5
Medlem
Inlägg: 40


Skicka PM
Faktiskt en bra och saklig jämförelse mellan språken.

-------------------------
- Real programmers code in binary



jockepockee 15:13 - 22:a Mars 2007 | Post #6
Medlem
Inlägg: 192


Skicka PM
ok, så om jag förstått rätt så är c bättre att använda till att göra låg-nivå prylar som drivrutiner mm?

-------------------------





NetNinja 16:20 - 23:e Mars 2007 | Post #7
Medlem
Inlägg: 116


Skicka PM
tror jag inte, skillnaden är att det finns mer att lära sig i c++ samt finns fler genvägar. Mer effektivt blir det inte antar jag eftersom c++ är en påbyggd version av c. Rätta mig om jag har fel...

-------------------------





main 22:55 - 23:e Mars 2007 | Post #8
Medlem
Inlägg: 40


Skicka PM
C++ är till för mer probleminriktad programmering, något högre abstraktionsnivå än C. Att det finns fler genvägar i C++ är sant, och många förenklingar har gjort att det går snabbare att lösa problem istället för att fundera på varför t.ex den dynamiska minnesallokeringen krånglar (i C).

-------------------------
- Real programmers code in binary



Sidor: 1

Forum huvudsida -> Programmering -> Skillnaden mella C och C++
Atom feed

Du får inte posta i den här tråden | Till toppen