Hur ser man lättast om det är C eller C++?
C eller C++?
11 svar · 637 visningar · startad av roj
Är det egentligen någon skillnad på c och c++? Är det inte bara att c++ stöder klasser? Använder man inte samma kompilatorer?
Tror det.... Hmm kan man använda alla h filer från C++ i C osv..?
Kan man kompilera om C kod så att man får filerna till att bli C++?
Njaa.. syntaxen skilljer sig en aning.. det krävs (så vitt jag förstått i alla fall) ganska mycket mer syntax i ett program i C än av det gör i C++. Och att C inte är ObjektOrienterat är juh också en ganska stor sak..
Kan man kompilera om C kod så att man får filerna till att bli C++?
Lite svårt att förstå vad det skulle betyda:
All C är C++. All C++ är inte C.
Jämför:
Alla ekorrar är djur. Alla djur är inte ekorrar.
roj skrev:
Kan man kompilera om C kod så att man får filerna till att bli C++?
Nja... C++ är en språklig utökning av C och inget körbart "tillstånd".
ganska mycket mer syntax i ett program i C än av det gör i C++.
C++ som är ett betydligt mer utvecklat språk än ren C får en med mängdmått mätt "mer" syntax.. mao blir det snarare tvärtom mot det du skrev ;)
Nja... C++ är en språklig utökning av C och inget körbart "tillstånd".
Jo det visste jag.. Hmm jag utrycker mej för kasst..
Men vad jag menar är att om man har några sidor skrivna i C så skulle det gå att ändra fil ändelsen från c till cpp och sen kompilera dom och det skulle funka utan problem eller?
Javisst. Under förutsättning att du inte samtidigt flyttar koden mellan operativsystem/miljöer där de ingående lib:en, API:erna eller kompilatorn är annorlunda.
Eftersom jag gillar liknelser:
Att göra om C till C++ är behöver inte vara mer ansträngande än att bygga om en bil till ett fordon.
(Om man inte samtidigt bestämmer sig för att skriva om allt från grunden och utnyttja de utökningar som finns i C++, klasser osv ..)
C är alltså en delmängd av C++.
Finns det någon som helst anledning till att använda C istället för C++?
Finns det någon som helst anledning till att använda C istället för C++?
Ja, flera.
1. Man kodar för/mot en miljö/processor för vilken det helt enkelt inte finns en C++-kompilator. (Ett inbäddat system, en PLC osv ..)
2. Man kodar i en situation där de features som C++ tillför, inte behövs eller tom skapar en "overhead" som man inte är intresserad av. (Drivrutiner, tidskritiska system osv ..)
3. Man skriver nya moduler till ett redan befintligt system i C där man är tvungen att anpassa sig till de skal/interface/API:er som redan är givna.