La copie de tableau facile, a portée de main ? - C++ - Programmation
Marsh Posté le 21-09-2002 à 01:47:32
Pour les curieux, voici mon source C 'arraytools.h' complet:
Code :
|
Marsh Posté le 21-09-2002 à 02:27:00
Musaran a écrit a écrit : Je sais pas si c'est censé pouvoir marcher, mais ce serait tellement bien... |
j'ai vc6 donc ...
par contre, j'ai google :
http://216.239.39.100/search?q=cac [...] n&ie=UTF-8
http://groups.google.com/groups?hl [...] 26tab%3Dwg
//
ceci dit, je ne vois pas bien où tu veux en venir avec tes macros ...
Marsh Posté le 22-09-2002 à 03:19:45
Le but est de permettre de copier facilement des tableaux, et de façon sûre.
C'était pour montrer à quel point la solution en C est tordue et partielle.
C'est marrant, il y a une erreur dans le premier lien:
Citation : ...nonconstant bounds. |
Au contraire, il faut une constante...
Bon ,je continues mon exploration:
Code :
|
Là non plus ,je ne peux pas tester.
Qu'en est-il ?
Mais de toutes façons, c'est plus compliqué qu'un simple appel de 'arrcpy'.
Ce qu'il faudrait, c'est présenter l'opérateur '=' comme une fonction indépendante à 2 arguments 'arrhndl'.
De cette façon, les tableaux C seraient peut-être automatiquement promus en 'arrhndl'.
Or justement, cet opérateur ne peut être que membre.
Qu'à cela ne tienne, imitons la STL et détournons '<<' de son sens premier:
Code :
|
Qu'en est-il ?
Si cela marche, alors on pourrait même copier des tableaux imbriqués, assigner en série, et plus encore.
Marsh Posté le 21-09-2002 à 01:46:00
Note: Je vous fait grâce ici des assertions et vérifications de tailles.
Considérant le cas des types différents, et celui des types C++ surchargeant l'opérateur '=', il faut bien faire une affectation membre-à-membre:
Seulement, on a perdu la généricité, on ne copie que des 'int[7]', et l'appel n'est pas naturel.
Entrons de plein-pied dans le C++ maintenant.
Visiblement, mon compilateur ne comprends pas une valeur paramètre de patron comme dimension de tableau dans un type. Unknown error .
Pour ne pas le nommer, c'est Visual C++ 6 sp 5, et il faut vraiment que je pense à en changer.
Je sais pas si c'est censé pouvoir marcher, mais ce serait tellement bien...
Donc, la suite, c'est vous qui allez l'écrire:
SVP, essayez ce dernier patron sur vos systèmes, et dites-moi si ça marche, et sinon quel message d'erreur est généré.
---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone