.\" -*- coding: UTF-8 -*- .\" Copyright (C) 2022 Alejandro Colomar .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH _Generic 3 "3. Mai 2023" "Linux man\-pages 6.05.01" .SH BEZEICHNUNG _Generic \- Typ\-generische Auswahl .SH ÜBERSICHT .nf \fB_Generic(\fP\fIAusdruck\fP\fB, type1: \fPe1\fB, \fP… /*\fB, default: \fPe */\fB);\fP .fi .SH BESCHREIBUNG \fB_Generic\fP() wertet den Codepfad unter der Typauswahl aus, der mit dem Typ des steuernden \fIAusdruck\fPs kompatibel ist oder mit \fBdefault:\fP, falls kein Typ kompatibel ist. .PP \fIAusdruck\fP wird nicht ausgewertet. .PP Dies ist insbesondere zum Schreiben von Typ\-generischen Makros nützlich, die sich abhängig vom Typ des Arguments verschieden verhalten werden. .SH STANDARDS C11. .SH GESCHICHTE C11. .SH BEISPIELE Das folgende Programm zeigt, wie ein Ersatz für die Standardfunktion \fBimaxabs\fP(3) geschrieben wird, die eine Funktion ist, die nicht wirklich das leisten kann, was sie verspricht: nahtlose Aktualisierung auf den weitesten verfügbaren Typ. .IP .\" SRC BEGIN (_Generic.c) .EX #include #include #include \& #define my_imaxabs _Generic(INTMAX_C(0), \e long: labs, \e long long: llabs \e /* long long long: lllabs */ \e ) \& int main(void) { off_t a; \& a = \-42; printf("imaxabs(%jd) == %jd\en", (intmax_t) a, my_imaxabs(a)); printf("&imaxabs == %p\en", &my_imaxabs); printf("&labs == %p\en", &labs); printf("&llabs == %p\en", &llabs); \& exit(EXIT_SUCCESS); } .EE .\" SRC END .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .