7
votes

Comment spécifier un tampon de taille fixe en C ++ / CLI?

in c #, je peux spécifier un tampon de taille fixe en utilisant le fixe code> mot-clé, comme:

public unsafe struct StructWithFixedBuffer
{
    public fixed char FixedBuffer[128];
}


0 commentaires

3 Réponses :


1
votes

La syntaxe C # a été ajoutée comme un moyen d'exprimer la syntaxe C ++ que vous connaissez pour toujours. :) xxx


1 commentaires

Cela entraînerait une erreur C4368 ne peut pas définir "X" en tant que membre de "typename" géré: les types mixtes ne sont pas pris en charge



1
votes

Quote:

La taille du tableau de caractères de 128 éléments est de 256 octets. Taille fixe Les tampons de caractères prennent toujours deux octets par caractère, quel que soit le codage.

Vous voulez donc: xxx


1 commentaires

Assurez-vous que l'exigence est de placer la mémoire tampon à l'intérieur d'un type géré, pas un struct .



11
votes

L'un des blogs de développeur C ++ / CLI avait un code pour une solution de modèle à cela, je vais essayer de trouver un lien.

Ahh, l'a trouvé. Ça s'appelle inline_array .


0 commentaires