Portál AbcLinuxu, 4. května 2025 07:34

Dotaz: maybe_unused c++

30.1. 15:49 fmfiain
maybe_unused c++
Přečteno: 799×
Odpovědět | Admin
Dobrý deň, ako funguje a kde sa používa [[maybe_unused]] v jazyku c++?

Ďakujem.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

30.1. 17:13 fmfiain
Rozbalit Rozbalit vše Re: maybe_unused c++
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dobrý deň, už som zistil, že sa to používa u premenných, ktoré neplánujeme používať. Napríklad:

int winmain(int instance, int /*prevInstance*/, const char */*cmdline*/, int show);

int winmain(int instance, [[maybe_unused]] int prevInstance, [[maybe_unused]] const char *cmdline, int show);
30.1. 17:54 fmfiain
Rozbalit Rozbalit vše Re: maybe_unused c++
Dobrý deň, to maybe_unused znamená, že premenná nemusí byť použitá, ale môže. Kompilátor to spustí.
5.2. 12:38 Baloun
Rozbalit Rozbalit vše Re: maybe_unused c++
Odpovědět | | Sbalit | Link | Blokovat | Admin
[[maybe_unused]] by se mělo používat u proměnných, které se možná použijí, ale možná taky ne. Ty co se nikdy nepoužijí, tak spíše zakomentovat. Uvedu příklady.

Nepoužitá proměnná:

void f(int /* i */) {}

Možná nepoužitá proměnná:

void f([[maybe_unused]] int i) {
   MACRO_THAT_CAN_DISAPPEAR(i);
}
void f([[maybe_unused]] double i) {
   if constexpr (magicCondition) {
       std::cout << i << std::endl;
   } else {
       // nothing
   }
}
6.2. 14:41 .
Rozbalit Rozbalit vše Re: maybe_unused c++
Tazatel si už odpověděl sám. Dokonce dvakrát. A ty po týdnu odpovíš to samé...
14.2. 14:01 Baloun
Rozbalit Rozbalit vše Re: maybe_unused c++
Ten uvedený příklad ovšem není to samé. Je to jen deklarace funkce. Mé příklady názorně ukazují ve kterých funkcích to má smysl použít.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.