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