Zwracanie wartości

0

Mam taką funkcję w Delphi:

function POWROT(Kpoc, Ppoc, Pkon, nrP: integer) : boolean;
var 
i:integer;
begin
for i:=1 to Lp do
	if (Kpoc+Czas[Ppoc,Pkon]+obsPkt[i]+Czas[Pkon,0] > zBaz)or
	(Kpoc+Czas[Ppoc,Pkon]+obsPkt[i] > zPkt[i])
	then POWROT:=false
  	else POWROT:=true;
end;

Jak to zapisać w C++? A konkretnie fragment POWROT:=... Czy to jest odpowiednik?:

bool POWROT(int Kpoc,int Ppoc,int Pkon,int nrP)
{
	for(int i=1; i<=Lp; i++)
	{
		if((Kpoc+Czas[Ppoc][Pkon]+obsPkt[i]+Czas[Pkon][0] > zBaz)||
			(Kpoc+Czas[Ppoc][Pkon]+obsPkt[i] > zPkt[i]))
			return false;
	}
	return true;
}
0

Tak

0

Z tą różnicą, że w C++ return powoduje natychmiastowe wyjście z funkcji.

Poza tym możesz to zapisać tak:

POWROT := not((Kpoc+Czas[Ppoc,Pkon]+obsPkt[i]+Czas[Pkon,0] > zBaz) or (Kpoc+Czas[Ppoc,Pkon]+obsPkt[i] > zPkt[i]));
return !((Kpoc+Czas[Ppoc][Pkon]+obsPkt[i]+Czas[Pkon][0] > zBaz)|| (Kpoc+Czas[Ppoc][Pkon]+obsPkt[i] > zPkt[i]));

1 użytkowników online, w tym zalogowanych: 0, gości: 1