_Generic(3) Library Functions Manual _Generic(3) BEZEICHNUNG _Generic - Typ-generische Auswahl UBERSICHT _Generic(Ausdruck, type1: e1, /*, default: e */); BESCHREIBUNG _Generic() wertet den Codepfad unter der Typauswahl aus, der mit dem Typ des steuernden Ausdrucks kompatibel ist oder mit default:, falls kein Typ kompatibel ist. Ausdruck wird nicht ausgewertet. Dies ist insbesondere zum Schreiben von Typ-generischen Makros nutzlich, die sich abhangig vom Typ des Arguments verschieden verhalten werden. STANDARDS C11. GESCHICHTE C11. BEISPIELE Das folgende Programm zeigt, wie ein Ersatz fur die Standardfunktion imaxabs(3) geschrieben wird, die eine Funktion ist, die nicht wirklich das leisten kann, was sie verspricht: nahtlose Aktualisierung auf den weitesten verfugbaren Typ. #include #include #include #define my_imaxabs _Generic(INTMAX_C(0), \ long: labs, \ long long: llabs \ /* long long long: lllabs */ \ ) int main(void) { off_t a; a = -42; printf("imaxabs(%jd) == %jd\n", (intmax_t) a, my_imaxabs(a)); printf("&imaxabs == %p\n", &my_imaxabs); printf("&labs == %p\n", &labs); printf("&llabs == %p\n", &llabs); exit(EXIT_SUCCESS); } UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 _Generic(3)