Comment puis-je créer un tableau de tableaux d'octets?
Je suis un peu novice en c++ et ma question peut avoir une jolie solution de facilité, mais je ne pouvais pas le découvrir par moi-même.
Disons que j'ai deux tableaux d'octets un et b. Chacun d'entre eux contient six octets.
Maintenant, je veux vous présenter un nouveau tableau c qui devrait contenir un et b.
C'est de cette façon que je l'ai essayé:
byte a[] = {B11111111, B10010000, B10011000, B10010100, B10010010, B11110001};
byte b[] = {B11111111, B10000001, B10000001, B10000001, B10000001, B11111111};
byte c[2][6] = {{a},{b}};
Le compilateur me donne l'erreur suivante:
invalid conversion from 'byte' to 'byte'
- Jamais l'esprit que vous êtes confus d'addition et de multiplication (ou devrais-je dire les syndicats et les produits), mais la solution, je suis à envisager les utilisations de plusieurs caractères à extraire de la matrice de tailles et de modèles de nombres variables de l'indice de packs pour initialiser un syndicat unique tableau de l'arbitraire mandants. Je pense que cela pourrait être un peu plus concernés que vous avez été recherchez.
- Votre question comporte une contradiction dans les termes. Un tableau d'octets est un tableau d'octets. Un tableau de tableaux d'octets est un tableau de tableaux.
- Donc, la question devrait être "comment créer un tableau de tableaux d'octets". Il semble que je ne peux pas modifier les questions de jet. Mais il doit y avoir un smple solution à cela de toute façon.
- en c#, il fonctionne comme je l'ai essayé : stackoverflow.com/questions/549399/... comment puis-je le faire en c++?
Vous devez vous connecter pour publier un commentaire.
Vous pourriez le faire comme suit:
Mais il serait plus propre de faire juste un tableau multidimensionnel directement:
byte* c[2]
est une table contenant 2byte
pointeurs. Unbyte[]
tableau peut être dégradée en unbyte*
pointeur. Doncc
est simplement de montrer à la mémoire de départ adresses dea
etb
, plutôt que de faire des copies d'eux.Cru les tableaux sont un peu ennuyeux. Utilisation
std::array
à la place:std::array
a été introduit dans c++11que vous avez à faire une boucle for pour copier les 2 tableaux dans le troisième,