Initialiser un float tableau sur la construction
Est-il possible en C++ pour la construction d'un float array initialisation des valeurs?
Par exemple, je n':
float* new_arr = new float[dimension];
for(unsigned int i = 0; i < dimension; ++i) new_arr[i] = 0;
Est-il possible de faire la mission au cours de la construction?
OriginalL'auteur Aslan986 | 2012-10-02
Vous devez vous connecter pour publier un commentaire.
new float[dimension]{}
ou même de donner des valeurs:new float[dimension]{1.f,.5f,1.3f}
.Si vous n'êtes pas à l'aide de C++11 et voulez le faire, vous pouvez probablement vous en sortir avec de déclarer static const tableau quelque part où vous stockez les valeurs initiales, et memcpying au-dessus de votre nouvellement affecté tableaux.
pas
memcpy
,std::copy
OriginalL'auteur none
Dans ce cas particulier (tous les zéros), vous pouvez utiliser la valeur d'initialisation:
Plutôt que d'utiliser explicitement
new[]
vous pouvez utiliser unstd::vector<float>
à la place:si le problème est une fonction attente d'un
float*
, puis il suffit de passer&v[0]
. unstd::vector
a garanti mémoire tampon contiguë. donc, sauf à la bibliothèque, c'est comme, multi-processing sur la carte graphique personnalisée d'exécution, alors il suffit d'utiliserstd::vector
.+1 pour les conseils sur la
std::vector
.OriginalL'auteur hmjd