C++ <array> fonction size
sizeC'est l'une des fonctions les plus couramment utilisées et fondamentales d'array, utilisée pourObtenir le nombre d'éléments dans le conteneur。
sizeest une fonction membre des classes de conteneurs, utilisée pourretourner le nombre d'éléments actuellement contenus dans le conteneur. Contrairement à vector, la taille d'array est fixe et déterminée au moment de la compilation.
sizeC'est la fonction la plus fréquemment utilisée lors de la manipulation d'array, utilisée dans des scénarios tels que le parcours en boucle et la vérification des limites.
Définitions de mots: sizesignifie "size", indiquant le nombre d'éléments dans le conteneur.
Syntaxe de base et paramètres
sizeC'est une fonction membre de la classe conteneur, et l'appeler ne nécessite aucun argument.
Format de syntaxe
constexpr size_type size() const noexcept;
Description des paramètres
- Paramètre: Aucun paramètre
sizene prend aucun argument.
Description de la fonction
- Retour: renvoie
size_typeType (généralementsize_t), représentant le nombre d'éléments dans le conteneur. - Effet: renvoie un entier non négatif représentant le nombre d'éléments stockés de manière fixe dans le conteneur.
- Remarque:
size()Il renvoie une constante de compilation (constexpr), qui peut être utilisée au moment de la compilation.
Exemple
Maîtrisons à fond à travers une série d'exemplessizeUtilisation.
Exemple 1 : utilisation de base - obtenir le nombre d'éléments
Exemple
#include <array>
int main() {
// tableaux de différentes tailles
std::array<int, 3> small = {1, 2, 3};
std::array<int, 5> medium = {1, 2, 3, 4, 5};
std::array<int, 10> large = {};
std::cout << "taille du petit tableau : " << small.size() << std::endl;
std::cout << "taille du tableau moyen : " << medium.size() << std::endl;
std::cout << "taille du grand tableau : " << large.size() << std::endl;
return 0;
}
Sortie attendue :
small array 大小: 3 medium array 大小: 5 large array 大小: 10
Analyse du code :
- La taille du tableau est déterminée au moment de la compilation et spécifiée par le paramètre de modèle.
size()Ce qui est renvoyé est cette valeur déterminée à la compilation.
Exemple 2 : Utilisation de size() dans une boucle
size()Le plus souvent utilisé pour contrôler l'itération d'une boucle.
Exemple
#include <array>
int main() {
std::array<int, 5> numbers = {10, 20, 30, 40, 50};
// Utiliser size() pour contrôler la boucle
std::cout << "Parcourir tous les éléments : ";
for(size_t i = 0; i < numbers.size(); ++i) {
std::cout << numbers[i] << " ";
}
std::cout << std::endl;
// Utiliser size() pour obtenir la limite du parcours inverse
std::cout << "Parcours inverse : ";
for(size_t i = numbers.size(); i > 0; --i) {
std::cout << numbers[i - 1] << " ";
}
std::cout << std::endl;
return 0;
}
Sortie attendue :
遍历所有元素: 10 20 30 40 50 反向遍历: 50 40 30 20 10
Analyse du code :
numbers.size()renvoie 5, la condition de bouclei < numbers.size()Assurez-vous qu'il ne sorte pas des limites.- Lors d'un parcours en sens inverse, à partir de
size()commence à décrémenter jusqu'à 1, puis accède à[i-1]。 - du tableau
size()Ouiconstexpr, peut être évalué au moment de la compilation. - Ceci est différent de vector, où la taille de vector
size()n'est pas une constante de compilation.
Exemple 3 : Utilisation de constexpr size
du tableausize()C'est constexpr et cela peut être utilisé au moment de la compilation.
Exemple
#include <array>
// Fonction template : créer un tableau d'une taille donnée
template<size_t N>
void printSize(const std::array<int, N>& arr) {
// size() peut être utilisée là où des constantes de compilation sont nécessaires
constexpr size_t s = arr.size();
std::cout << "Array size: " << s << std::endl;
}
int main() {
std::array<int, 5> arr = {1, 2, 3, 4, 5};
printSize(arr);
return 0;
}
Analyse du code :
autres extensions