Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: fortran1986 10. 08. 2021, 19:12:29

Název: C++ constexpr funkcia (prípadne metóda) vs inline funkcia
Přispěvatel: fortran1986 10. 08. 2021, 19:12:29
Je nejaký rozdiel medzi constexpr funkciou a inline funkciou? Alebo je to to isté? A ak je tak aký?
Název: Re:C++ constexpr funkcia (prípadne metóda) vs inline funkcia
Přispěvatel: anonacct 10. 08. 2021, 20:12:01
Je toto fakt otázka, na kterou nedokážeš najít odpověď na internetu?

Nechci se navážet, ale toto je fakt trochu triviální otázka.
Název: Re:C++ constexpr funkcia (prípadne metóda) vs inline funkcia
Přispěvatel: Kit 10. 08. 2021, 22:07:36
Je toto fakt otázka, na kterou nedokážeš najít odpověď na internetu?

Nechci se navážet, ale toto je fakt trochu triviální otázka.

To je tak těžké odpovědět na takovou triviální otázku?
Název: Re:C++ constexpr funkcia (prípadne metóda) vs inline funkcia
Přispěvatel: alex6bbc 11. 08. 2021, 07:11:37
http://simpletechtalks.com/constexpr-vs-inline-functions/
Název: Re:C++ constexpr funkcia (prípadne metóda) vs inline funkcia
Přispěvatel: stribro 12. 08. 2021, 11:21:12
Constexpr označuje funkce, které lze spustit už při kompilaci a do binárky zapsat jenom jejich výsledek.
Standard c++ říká "it is possible to evaluate the value of the function or variable at compile time", takže jako obvykle záleži na implementaci kompilátoru, jestli constexpr spustí nebo ne.

Inline je hint pro kompilátor, aby volání funkce nahradil přímo její implementací, což je optimalizace, kterou ale moderní kompilátory umí dělat samy a "inline" k tomu nepotřebují.
Důležitější vlastnosti inline se týkají kompilace a linkování, a zde tě spís odkážu na Stack Overflow:
https://stackoverflow.com/questions/1759300/when-should-i-write-the-keyword-inline-for-a-function-method (https://stackoverflow.com/questions/1759300/when-should-i-write-the-keyword-inline-for-a-function-method)
Název: Re:C++ constexpr funkcia (prípadne metóda) vs inline funkcia
Přispěvatel: fortran1986 13. 08. 2021, 10:15:56
...

...

Ďakujem Vám za odpovede.

Nechci se navážet, ale toto je fakt trochu triviální otázka.

Ešte predtým som si o tom niečo hľadal. Akurát internet je plný poloprávd a nepresností. Diskusia je lepšia, tu keď niekto dá nepresné, alebo nesprávne vysvetlenie, tak ho ostatní opravia. A navyše, občas sa tu dozviem, aj ďalšie užitočné informácie, na ktoré ma ani nenapadlo sa pýtať.
Název: Re:C++ constexpr funkcia (prípadne metóda) vs inline funkcia
Přispěvatel: Wavelet 13. 08. 2021, 16:54:53
Od toho jsou diskuzní fóra. Tady musím podpořit Kita. Co jednomu přijde jasné, u někoho vyvolává otázky. Žádný dotaz není hloupý. Divil byste se, kolik otázek, které třeba vyučující považoval za triviální, ho přivedlo do úzkých, když to měl někomu vysvětlit. Jen taková poznámka.