Ich lerne gefunden C++ mit früherem Java experience.I das folgende Beispiel in dem cplusplus.com:Warum gibt die Funktion einen booleschen Wert zurück, wenn sie int deklariert ist?
int CDummy::isitme (CDummy& param)
{
if (¶m == this)
{
return true; //ampersand sign on left side??
}
else
{
return false;
}
}
Meine Frage ist: Warum eindeutig die Methode als int
erklärt hat es boolean false
zurück, wenn ich? In Java ist das nie möglich. Die Verbindung des Beispiels ist: here.
Sind Sie fragen, warum es legal ist (das ist, weil es eine implizite Konvertierung ist von 'bool' zu' int'), oder sind Sie fragen, warum der Code so geschrieben ist (was nur vom Autor beantwortet werden kann)? Kannst du mit der Quelle verlinken? Als eine Frage des Stils, und mit ungenügendem Kontext, um sicher zu sein, sollte es wahrscheinlich definiert sein, 'bool' zurückzugeben. –
@KeithThompson - Der Autor schreibt Mist Code IMHO –
Ich frage, warum es legal ist.Ist es sogar möglich? Als Person aus Java, sehe ich es als falsch. –