Obsah:
- Klíčový rozdíl - makro vs inline funkce
- Co je to makro?
- Co je funkce Inline?
- Jaký je rozdíl mezi makro a vloženou funkcí?
- Shrnutí - Funkce Makro vs Inline
Video: Rozdíl Mezi Makro A Vloženou Funkcí
2024 Autor: Mildred Bawerman | [email protected]. Naposledy změněno: 2023-12-16 08:37
Klíčový rozdíl - makro vs inline funkce
Makro je fragment kódu, což je direktiva preprocesoru. Vložená funkce je funkce vylepšení C ++, která minimalizuje dobu provádění programu. Klíčovým rozdílem mezi makrem a inline funkcí je tedy to, že makro je kontrolováno preprocesorem, zatímco inline funkce je kontrolována kompilátorem.
Makro je zahrnuto na začátku programu, před kterým je znak hash. Pokud je v programu název makra, je nahrazen obsahem makra.
OBSAH
1. Přehled a klíčový rozdíl
2. Co je to makro
3. Co je funkce Inline
4. Porovnání vedle sebe - funkce Makro vs Inline ve formě tabulky
5. Shrnutí
Co je to makro?
Preprocesor je program, který zpracovává zdrojový kód před tím, než projde kompilátorem. Funguje pomocí příkazového řádku preprocesoru nebo směrnic. V programu jsou direktivy preprocesoru umístěny do zdrojového programu před hlavní program. Před tím, než zdrojový kód projde kompilátorem, je zkontrolován preprocesorem na direktivy preprocesoru. Direktivy preprocesoru mají symbol #. Na rozdíl od jiných příkazů nekončí středníkem. Jedním typem direktivy preprocesoru je makro. Makra jsou obecně psána velkými písmeny.
Obrázek 01: Program C ++ s makry
Podle výše uvedeného programu řádek 3 a řádek 4 označují makra. Při výpočtu plochy se hodnota PI nahradí pomocí definovaného makra. V řádku 14, volume = CUBE (hodnota), preprocesor rozšíří příkaz jako volume = (hodnota * hodnota * hodnota). Nalezení krychle lze zapsat jako funkci, ale zde se zapisuje pomocí makra. Pokud existuje příkaz jako volume = CUBE (x + y), rozbalí se na volume = (x + y * x + y * x + y).
Některé programovací tokeny mohou být snadno chybně napsány. Mohou být nahrazeny pomocí maker. např. #define AND &&, #define OR ||. Definice makra může také zahrnovat výrazy, jako například #define AREA 4 * 5.56.
Co je funkce Inline?
Při volání funkce kompilátoru trvá nějakou dobu, než ji provede. Pokud funkce není příliš složitá, může programátor převést funkci na vloženou funkci. Viz níže uvedený program.
Obrázek 02: Funkce bez vloženého řádku
Print_hello je jednoduchá funkce. Při volání funkce vytiskne řetězec „Hello“. Čas provedení pro tuto funkci je 0,187 s. Při použití inline klíčového slova následujícím způsobem se doba spuštění sníží na 0,064 s.
Obrázek 03: Inline funkce
Proto se pomocí inline klíčového slova snižuje doba provádění. Vložené funkce nemusí fungovat, pokud existují smyčky, příkazy switch a pokud funkce obsahuje statické proměnné nebo rekurzivní funkce.
Jaký je rozdíl mezi makro a vloženou funkcí?
Rozdílný článek uprostřed před tabulkou
Makro vs vložená funkce |
|
Makro je fragment kódu, což je direktiva preprocesoru, která je zahrnuta na začátku programu a před kterou je znak hash. | Vložená funkce je funkce vylepšení C ++, která minimalizuje dobu provádění programu. |
Čas vyhodnocení | |
V makru je argument vyhodnocen pokaždé, když je použit v programu. | V řádku je argument vyhodnocen jednou. |
Zkontrolováno | |
Makro je zkontrolováno preprocesorem. | Vložená funkce je zkontrolována kompilátorem. |
Klíčové slovo | |
Marco používá #define. | Funkce inline používá klíčové slovo „inline“. |
Používání | |
Makro lze použít k definování konstant, výrazů, k doslovnému nahrazení textu a k definování funkcí atd. | Vloženou funkci lze použít k minimalizaci doby provádění programu. |
Ukončení | |
Makro končí novým řádkem. | Inline funkce končí složenou závorkou na konci inline funkce. |
Definování bodu | |
Marco je definován na začátku programu. | Vložená funkce může být uvnitř nebo vně třídy. |
Shrnutí - Funkce Makro vs Inline
Tento článek pojednával o rozdílech mezi makry a vloženými funkcemi. Tyto koncepty se používají v programování v C ++. Rozdíl mezi funkcí makro a vložená funkce spočívá v tom, že makro je kontrolováno preprocesorem, zatímco vložená funkce je kontrolována kompilátorem.
Doporučená:
Rozdíl Mezi Vztahem A Funkcí
Vztah vs. funkce Od středoškolské matematiky se funkce stává běžným pojmem. I když se používá poměrně často, používá se bez řádného
Rozdíl Mezi Funkcí Rozdělení Pravděpodobnosti A Funkcí Hustoty Pravděpodobnosti
Funkce rozdělení pravděpodobnosti vs. funkce hustoty pravděpodobnosti Pravděpodobnost je pravděpodobnost, že se událost stane. Tato myšlenka je velmi častá a
Rozdíl Mezi Prahovou Frekvencí A Pracovní Funkcí
Prahová frekvence vs. pracovní funkce Pracovní funkce a prahová frekvence jsou dva pojmy spojené s fotoelektrickým efektem. Fotoelektrický
Rozdíl Mezi Diskrétní Funkcí A Spojitou Funkcí
Diskrétní funkce vs. spojité funkce jsou jednou z nejdůležitějších tříd matematických objektů, které se hojně používají téměř ve všech
Rozdíl Mezi Stavovou Funkcí A Funkcí Cesty
Klíčový rozdíl - stavová funkce vs. funkce dráhy Termodynamika je hlavní obor fyzikální chemie, který indikuje termochemické vztahy