Matematické Fórum

Archiv diskusního fóra o matematice, 2006–2026

Toto je archiv Matematického Fóra. Fórum je dostupné jen ke čtení. Můžete se ale zaregistrovat na náš Discord server.

#1 09. 02. 2025 18:42 — Editoval fmfiain (09. 02. 2025 20:17)

fmfiain
Příspěvky: 744
Reputace:   -1 
 

Const c++

Dobrý deň,
neviem rozlíšiť funkcie a premenné s parametrom const.
Príklad s premennými:

Code:

(1) const int x = 10;
(2) int const x = 10;

Teraz príklady s funkciami:

Code:

(3) const int foo(int i)
(4) int const foo(int i)
(5) int foo(int i) const

(1 - 2) znamená, že premenná je konštantná a nesmie sa ďalej meniť. Zistil som, že obe možnosti sú ekvivalentné.
(3 - 4) znamená, že funkcie vracajú konštantný návratový typ, pričom sú ekvivalentné.
(5) znamená, že je read only funkcia. Vo vnútri iba vracia return no nič nemodifikuje.
Mohli by ste to po mne skontrolovať?


Ďakujem.

Offline

 

#2 10. 02. 2025 11:27

Aleš13
Příspěvky: 383
Reputace:   5 
 

Re: Const c++

(5) říká, že kompilátor má zkontrolovat, jestli metoda nemění (přímo nebo nepřímo) nějakou proměnnou objektu. Pokud se o to metoda pokusí, hlásí se chyba při překladu.

(4) znamená, že se vrácená hodnota bude ve výrazu chovat jako konstanta (prakticky pointer na pole se bude chovat jako pointer na konstantní pole). Opět slouží ke kontrole při překladu. Ale nikdy jsem to prakticky nepoužil, tak ať to po mě ještě někdo překontroluje.

Offline

 

Archiv Matematického Fóra · stav k 30. 8. 2026 · 633 258 příspěvků v 108 818 tématech