<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hr">
	<id>https://enciklopedija.cc/index.php?action=history&amp;feed=atom&amp;title=Naredba_povratka</id>
	<title>Naredba povratka - Povijest promjena</title>
	<link rel="self" type="application/atom+xml" href="https://enciklopedija.cc/index.php?action=history&amp;feed=atom&amp;title=Naredba_povratka"/>
	<link rel="alternate" type="text/html" href="https://enciklopedija.cc/index.php?title=Naredba_povratka&amp;action=history"/>
	<updated>2026-07-16T11:47:00Z</updated>
	<subtitle>Povijest promjena ove stranice na wikiju</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://enciklopedija.cc/index.php?title=Naredba_povratka&amp;diff=53053&amp;oldid=prev</id>
		<title>WikiSysop: Bot: Automatski unos stranica</title>
		<link rel="alternate" type="text/html" href="https://enciklopedija.cc/index.php?title=Naredba_povratka&amp;diff=53053&amp;oldid=prev"/>
		<updated>2021-08-23T22:40:52Z</updated>

		<summary type="html">&lt;p&gt;Bot: Automatski unos stranica&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nova stranica&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!--&amp;#039;&amp;#039;&amp;#039;Naredba povratka&amp;#039;&amp;#039;&amp;#039;--&amp;gt;U [[računalno programiranje|računalnom programiranju]], &amp;#039;&amp;#039;&amp;#039;naredba povratka&amp;#039;&amp;#039;&amp;#039; uzrokuje izlazak izvođenja iz trenutnog [[potprogram]]a i nastavak na mjestu s kojeg je potprogram pozvan - poznatom kao [[povratna adresa]]. Povratna se adresa sprema, obično na [[proces (računarstvo)|procesovom]] [[pozivni stog|pozivnom stogu]], kao dio operacije poziva potprograma. Naredbe povratka u mnogim jezicima dopuštaju funkciji specificiranje &amp;#039;&amp;#039;&amp;#039;povratne vrijednosti&amp;#039;&amp;#039;&amp;#039; koja se vraća [[računalni kod|kodu]] koji je pozvao funkciju.&lt;br /&gt;
&lt;br /&gt;
U jeziku [[C++]],  &amp;lt;code&amp;gt;return &amp;#039;&amp;#039;izraz&amp;#039;&amp;#039;;&amp;lt;/code&amp;gt; (pri čemu je &amp;lt;code&amp;gt;&amp;#039;&amp;#039;izraz&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; [[izraz (programiranje)|izraz]]) je [[naredba (programiranje)|naredba]] koja govori funkciji da vrati izvršavanje programa pozivajućoj funkciji, i kaže kolika je vrijednost od &amp;lt;code&amp;gt;&amp;#039;&amp;#039;izraz&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;. Ako funkcija nema povratni tip (tj. njezin povratni tip je [[void tip|void]]), naredba povratka se može rabiti bez vrijednosti, u kojem pak slučaju program jednostavno izlazi iz trenutne funkcije i vraća se pozivajućoj.&lt;br /&gt;
&lt;br /&gt;
U [[Pascal (programski jezik)|Pascalu]] ne postoji naredba povratka. Potprogrami se automatski vraćaju kad izvršavanje dosegne posljednju izvodivu naredbu. Vrijednosti se mogu vratiti dodjeljivanjem identifikatoru koji ima isto ime kao i potprogram (&amp;#039;&amp;#039;funkciji&amp;#039;&amp;#039; u Pascalovoj terminologiji).&lt;br /&gt;
&lt;br /&gt;
Određeni programski jezici, kao što su [[Perl]] i [[Ruby (programski jezik)|Ruby]], dopuštaju programeru izostavljanje eksplicitnih naredbi povratka, na taj način specificirajući da je posljednji evaluirani izraz povratna vrijednost potprograma. Vrijednosti koje vrati program prilikom terminacije hvataju [[batch datoteka|batch programi]].&lt;br /&gt;
&lt;br /&gt;
== Sintaksa ==&lt;br /&gt;
&lt;br /&gt;
Naredbe povratka dolaze u mnogo oblika. Sljedeće su sintakse najuobičajenije:&lt;br /&gt;
&lt;br /&gt;
Kao što rabe [[C (programski jezik)|C]],  [[C++]], [[Java (programski jezik)|Java]], [[PHP]], [[C Sharp|C#]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 return &amp;#039;&amp;#039;vrijednost&amp;#039;&amp;#039;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kao što rabi [[Smalltalk]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
 ^ &amp;#039;&amp;#039;vrijednost&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kao što rabi [[Lisp (programski jezik)|Lisp]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
 (return &amp;#039;&amp;#039;vrijednost&amp;#039;&amp;#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kao što rabi [[BASIC]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 RETURN&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kriticizam ==&lt;br /&gt;
&lt;br /&gt;
Neki razvijatelji i obrazovatelji računalnog programiranja izbjegavaju uporabu eksplicitnih naredbi povratka osim na tekstualnom kraju potprograma, smatrajući da, kad se rabi za &amp;quot;preran povratak&amp;quot;, pati od istih problema čitljivosti kao i [[GOTO]] naredba. Kao i sa GOTO, postoji problem da se u daljnjem razvijanju naredba povratka može previdjeti od strane razvijatelja, te se akcija koja bi se trebala obaviti na kraju potprograma možda neće obaviti (u svim slučajevima).&lt;br /&gt;
&lt;br /&gt;
Međutim, općenito je privaćeno da se naredba povratka ne bi trebala [[smatra štetnim|smatrati štetnom]] kao GOTO, s obzirom da samo dozvoljava skakanje na jedno istaknuto mjesto potprograma te se, kao rezultat toga, rabi sa znatno manjom učestalošću. Štoviše, povratna vrijednost funkcije je obično (u suvremenim popularnim programskim jezicima) eksplicitno specificirana u naredbi povratka.&lt;br /&gt;
&lt;br /&gt;
Također, u jezicima kao što je [[Java (programski jezik)|Java]], &amp;#039;&amp;#039;try..finally&amp;#039;&amp;#039; konstrukt se može rabiti za zajamčeno obavljanje akcije na samom kraju potprograma, nakon što je bilo koja naredba povratka izvršena. &amp;#039;&amp;#039;finally&amp;#039;&amp;#039; podnaredba će se izvršiti čak i ako je bačena [[iznimka (programiranje)|iznimka]] (iznimka se automatski hvata, i potom ponovno baca nakon što je &amp;#039;&amp;#039;finally&amp;#039;&amp;#039;  podnaredba izvršena, osim ako &amp;#039;&amp;#039;finally&amp;#039;&amp;#039; podnaredba i sama ne baci iznimku). U slučaju prikladnog korištenja (npr. za zatvaranje datotečnih ručica), ovo eliminira potrebu za iznalaženjm svih točka izlaska i dodavanja zalihosnih naredbi neposredno prije njih, ili za refaktoriranjem potprograma u svrhu micanja naredbi povratka - i jedan i drugi postupak su skloni grješkama.&lt;br /&gt;
&lt;br /&gt;
[[Aspektno orijentirano programiranje]] se može također rabiti za ostvarivanje konstrukta sličnom &amp;#039;&amp;#039;try..finally&amp;#039;&amp;#039; bloku - s ili bez ponašanja automatskog hvaćanja iznimke - iako je izvorno namijenjeno konciznijem izražavanju ponašanja koji &amp;quot;presijecaju&amp;quot; više od jednog potprograma.&lt;br /&gt;
&lt;br /&gt;
[[Kategorija:Konstrukti u programiranju]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
</feed>