Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

C09 ?

2 réponses
Avatar
ld
Savez-vous s'il est prevu une nouvelle norme du C en 2009? Et si c'est
le cas, est-ce qu'il y a des chances que la proposition pour emuler la
surchage de types, fonctions et d'operateur soit consid=E9r=E9e, via le
mot clef _Alias? Je ne me souvient plus des references de la
proposition, mais c'etait qqchose du style (dans les .h)

_Alias sin(float) =3D sinf(float); // sin of float is replaced by sinf
_Alias sin(_Complex float) =3D sinfc(_Complex float); // sin of complex
is replaced by sinfc
_Alias struct one* =3D struct two*; // struct one* and struct two* must
be considered equivalent
_Alias operator-(struct one*) =3D one_minus(struct one*); // operator
overloading

Cette proposition permettrait de resoudre nombre de probleme de
syntaxe et de portabilite, sans modifier l'ABI comme le fait C++.

a+, ld.

2 réponses

Avatar
Jean-Marc Bourguet
ld writes:

Savez-vous s'il est prevu une nouvelle norme du C en 2009?



Oui. Réponse: non. Une revue de la norme est prévue, mais ce sera pour
bien plus tard. Elle a juste été décidée il y a une ou deux réunions.


Je ne suis pas assez la chose pour répondre à tes questions. Voir
http://www.open-std.org/jtc1/sc22/wg14/

A+

--
Jean-Marc
FAQ de fclc: http://www.levenez.com/lang/c/faq
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Avatar
jacob navia
ld wrote:
Savez-vous s'il est prevu une nouvelle norme du C en 2009? Et si c'est
le cas, est-ce qu'il y a des chances que la proposition pour emuler la
surchage de types, fonctions et d'operateur soit considérée, via le
mot clef _Alias? Je ne me souvient plus des references de la
proposition, mais c'etait qqchose du style (dans les .h)

_Alias sin(float) = sinf(float); // sin of float is replaced by sinf
_Alias sin(_Complex float) = sinfc(_Complex float); // sin of complex
is replaced by sinfc
_Alias struct one* = struct two*; // struct one* and struct two* must
be considered equivalent
_Alias operator-(struct one*) = one_minus(struct one*); // operator
overloading

Cette proposition permettrait de resoudre nombre de probleme de
syntaxe et de portabilite, sans modifier l'ABI comme le fait C++.

a+, ld.



Le compilateur lcc-win implementa la surcharge:

float overloaded sin(float);
double overloaded sin(double);
long double overloaded sin(long double);

Ici, les noms des fonctions sont fournies par le compilo.

Ceci est equivalent a ta syntaxe:

float overloaded sin.sinf(float);

--
jacob navia
jacob at jacob point remcomp point fr
logiciels/informatique
http://www.cs.virginia.edu/~lcc-win32