J'essaie de déclarer une taille d'un tableau char et j'ai besoin d'utiliser la valeur de la variable déclarée comme taille_t pour déclarer cette taille. Y at-il de toute façon que je peux transformer la variable size_t en int pour que je puisse faire ça?lancer size_t à int pour déclarer la taille du tableau char
Répondre
size_t
est un type entier et aucune conversion n'est nécessaire.
En C++, si vous voulez avoir un dynamique de taille tableau, vous devez utiliser allocation dynamique à l'aide new
. Autrement dit, vous ne pouvez pas utiliser:
std::size_t sz = 42;
char carray[sz];
Vous devez utiliser ce qui suit à la place:
std::size_t sz = 42;
char* carray = new char[sz];
// ... and later, when you are done with the array...
delete[] carray;
ou, de préférence, vous pouvez utiliser un std::vector
(std::vector
gère la mémoire pour vous afin que vous don « t besoin de se rappeler de le supprimer explicitement et vous n'avez pas à vous soucier beaucoup des problèmes de propriété qui viennent avec l'allocation dynamique manuelle):
std::size_t sz = 42;
std::vector<char> cvector(sz);
Détail mineur, mais ne devriez-vous pas utiliser delete [] dans votre exemple, lorsque vous utilisez new []? – Jacob
@Jacob: Oui, et c'est une autre excellente raison d'utiliser 'std :: vector'. :-) (Fixe et merci) –
pour mor En arrière-plan sur size_t, je recommande fortement les articles de Dan Saks: "Why size_t matters" et "Further insights into size_t"
- 1. taille du tableau int change
- 2. Comment lancer l'argument du programme * char comme int correctement?
- 3. ReadProcessMemory tableau char, sortie hexadécimale à int
- 4. comparant int avec size_t
- 5. Comparer avec size_t, return int?
- 6. C Déclarer un tableau de char *
- 7. réinitialiser un char * tableau [taille] contenu
- 8. Tableau de Int et * Char-C++
- 9. déclarant le plus grand tableau en utilisant size_t
- 10. Déclarer un tableau en C sans donner la taille
- 11. Int à Char en C#
- 12. la taille allocation Initializing d'un tableau
- 13. Objective-C int à char
- 14. convertir un int en char *
- 15. Révision de C++: Int à Char
- 16. Tableau de const char *
- 17. Valeur invalide pour size_t
- 18. La taille du tableau au moment de l'exécution sans allocation dynamique est autorisée?
- 19. Convertir char en int à NSString
- 20. Comment initialiser un tableau char à la déclaration
- 21. realloc - convertir int en char
- 22. Performance - Int vs Char (3)
- 23. Conversion d'un Char à sa représentation Int
- 24. Comment déclarer chaîne de tableau dans C++
- 25. Comment déclarer un pointeur char externe?
- 26. La conversion de 'int' en 'size_t' peut changer le signe du résultat - GCC, C
- 27. Utilisation de modèles pour obtenir la taille et l'adresse de fin d'un tableau
- 28. void * ou char * pour la représentation du tampon générique?
- 29. Affectation de la valeur char dans un tableau à la valeur char dans un autre tableau
- 30. Déclarer un int Nullable (int?) En utilisant XAML
'size_t' _is_ le type utilisé pour la taille du tableau. Non seulement vous n'avez pas besoin d'un cast, mais si vous en faites un, le résultat sera simplement implicitement converti en 'size_t'. –