Forum huvudsida -> Programmering -> Skillnaden mella C och C++
Sidor: 1
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 undantag ), 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++
Du får inte posta i den här tråden | Till toppen
Datum
2024-05-05 16:49
Vecka: 18
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.