Lees en probeer de volgende code dat dit illustreert: #include using namespace std; leegte fn (p int, int q = 20) {int w = p + q; cout} int main () {int p = 15; fn (p); 0 terug; } U gebruikt een initialisatie van de standaard waarde in de parameter (volg niet dat met een puntkomma). Als je niet van de waarde voor q, toen in de functie oproep, moet u een tweede argument voor q sturen. Merk op dat in de functie-aanroep (bellen functie) het argument voor de standaard waarde is niet verzonden; dat wil zeggen dat er geen argument de standaardwaarde.
Een parameter van het type tekenreeks passeren String naar een functie heeft om een pointer naar char. Het argument voor de roeping functie kan een letterlijke tekenreeks of een pointer (adres) aan het begin van een stukje tekst in het geheugen zijn. De volgende twee codevoorbeelden illustreren dit (als u ze uit te proberen, negeren de waarschuwingen voor nu).
#include using namespace std; int strFn (char * str) {cout} int main () {strFn ("test"); 0 terug; } De tweede snaar code voorbeeld is als volgt: #include using namespace std; int strFn (char * str) {cout} int main () {char * myStr = "een test"; strFn (myStr); 0 terug; } In de eerste code voorbeeld, net voor de strFn functie (definitie) wordt uitgevoerd, de volgende initialisatie vindt plaats onbekend aan u: char * str = "een test"; In de tweede code monster, net voor de strFn functie (definitie) wordt uitgevoerd, de volgende initialisatie vindt plaats onbekend aan u: char * str = myStr; Om de bovenstaande initialisatie waarderen, er rekening mee dat het volgende geldt voor elk type pointer: Type * pointer1; Type * pointer2 = pointer1; De volgende is ook waar: Type * pointer1; Type * pointer2; pointer1 = pointer2; U kunt nog steeds toewijzen & ident voor een van de wijzers, waarbij ident is de identificatie van een object.
myStr geeft het adres van het eerste teken van de string array in het geheugen. We h