Olen kuullut montakertaa, että c on laitteistoläheisempi kuin c++. Mistä tämä johtuu, koska minun käsittääkseni kielet ovat hyvin samanlaiset, en tosin c:tä osaa...
edit: typoja...
Suoraan sanoen tuo on aika tyhmästi väitetty. C++:lla voi tehdä samat asiat kuin C:lläkin, vaikka joitakin tyypillisessä korkeamman tason ohjelmoinnissa yleensä tarpeettomia ja vaarallisia asioita on hieman hankaloitettu pidentämällä vaadittavaa koodiriviä ja muotoilemalla se niin, että kirjoittaja varmasti ymmärtää, mitä on tekemässä.
Olennaisin ero taitaa olla se, että C++:n standardikirjasto sisältää huomattavasti enemmän erilaisia apuvälineitä, jolloin ohjelmoijan ei tarvitse tehdä kaikkea alusta asti itse ("laitteistoläheisesti", vaikkei tuossa kyse olekaan muusta laitteistosta kuin prosessorista ja muistista eikä suoranaisesti niistäkään). Kukaan ei toki väitä, etteikö vastaavia kirjastoja saisi C:llekin. ;)
Varsinaiseen laitteistoon ei pääse käsiksi kuin konekielellä. Tätä varten tehdyt konekieliset funktiot, joita voi käyttää C:stä käsin, toimivat yhtä lailla C++:nkin puolelta, joten tässäkään suhteessa eroa ei ole.
Ok, kiitos hyvästä vastauksesta. Arvelinkin, että niissä ei paljoa eroa voisikaan olla... :P
Vähän samantapainen väite on, että Helsingissä on enemmän raitiovaunuja kuin Suomessa. Mutta usein C++:lle ominainen ohjelmointitapa on C:tä kauempana tietokoneen konekielestä. Esim. C++:ssä merkkijonoa varten luodaan mielellään string-olio, kun taas C:ssä määritellään merkkitaulukko, jollaista voi käyttää samaan tapaan konekielessä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.