Ik snap dat het verschillende data-typen zijn, maar waarom is C++ zo ontworpen dat er een fundamenteel verschil is tussen een char of een string. Waarom niet voor alles een string gebruiken? Nou zal het vroeger wel nuttig zijn geweest voor het geheugen o.i.d., maar daar wil ik nu niet meer last van hebben

Wat een vreselijke taal is C++ toch als ik dit zo bekijk. Waarom kan je niet gewoon " en ' door elkaar gebruiken.. Nou ja, het werkt in ieder geval

Ik heb nu in totaal 4 regels meer dan ervoor, maar het ziet er wel mooier uit.
Er zit een wezenlijk verschil tussen char en string; een char kan je namelijk als één getal opslaan terwijl je voor een string een array nodig hebt.
Om verschillende datatypes met elkaar te vergelijken moet je ofwel allerlei functies maken voor elke combinatie datatypen (=aantal datatypen in het kwadraat aan functies) of eerst de datatypen naar één centraal formaat converteren en dan pas vergelijken.
Dat laatste automatisch doen kan gigantische gevolgen hebben voor de integriteit en veiligheid van je software.
Edit: da's ook waarom je in php nooit == bij md5 moet gebruiken: als de user-input een getal is kan dat flink verkeerd gaan. Magische typecasting is in php de reden dat men in de praktijk meestal === gebruikt.
Oh, ik dacht dat juist i de pointer was. Ik had gelezen dat dat juist een variabel was die functioneerde als een pad naar een andere waarde. Maar hoe kan ik ze dan van hetzelfde data-type laten zijn?
Met
typecasting. Maar beter is om ze vanaf het begin af aan als gelijksoortige variabelen in te stellen.
verstrekennaamdagen wordt voorafgaand aan deze code inderdaad berekend. Daar is het gewoon een integer, maar omdat C++ weer een foutmelding gaf dat hij niet bestond in deze scope, heb ik hem weer gedeclareerd hier. Het is gewoon een waarde die van 0 t/m 6 kan gaan (geheel uiteraard). Wat bedoel je met de modulariteit?
Als je je variabele alleen maar declareert, heeft 'ie nog geen waarde. Als je in GM var a; a += 1; zegt, doet 'ie het ook niet, net als hier.
Wat ik bedoel met modulariteit is (in dit geval) dat een functie op zichzelf dient te staan. Als je informatie door wilt geven aan de functie, hoor je dat via een argument te doen. Anders kun je de functie niet gebruiken op een plek waar je die variabele niet gedefinieerd hebt, en wordt je code (oa.) erg lastig te onderhouden.
@Tidob: Een globale variabele werkt, maar is niet bepaald netjes voor dit doel.
Edit:
Hier is C dus niet uniek in.
Aangezien al die talen op de C-syntax gebaseerd zijn, is C niet meer zo uniek, nee
