C++ morceaux de code exécutables

Stagram
4,340 views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

Remplir un tableau avec des valeurs par défaut

  • Remplir un tableau static d'entiers
1
2
3
4
5
6
7
8
9
10
11
12
#include <bits/stdc++.h>
using namespace std;
int staticArray[3000];
const int InitValue = 9990;
int main()
{
cout << "Uninitialized Array:"<<staticArray[3000-1] << endl;
std::fill(staticArray,staticArray+(end(staticArray) - begin(staticArray)),InitValue);
cout << "Array filled with:"<<staticArray[3000-1] << endl;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  • Remplir un vecteur d'entier de la librairie standard (vector)
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <bits/stdc++.h>
using namespace std;
vector<int> dynArray;
const int InitValue = 9990;
int main()
{
dynArray.resize(3000);
cout << "Uninitialized Array:"<<dynArray.back() << endl;
std::fill(dynArray.begin(),dynArray.end(),InitValue);
cout << "Array filled with:"<<dynArray.back() << endl;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  • Remplir un vecteur de classe (vector)

Ici même si l'objet de l'initialisation est complexe, la méthode std::fill se comporte exactement de la même façon.

Utiliser memset en C++ n'est pas conseillé, en effet c'est une fonctionnalité de la librairie standard du langage C et non du C++. Dans un monde parfait personne ne l'utilise en C++:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <bits/stdc++.h>
using namespace std;
class Pod{
public:
float x,y;
float vx,vy;
Pod(){ } //No initialization
Pod(float _x,float _y, float _vx, float _vy){
x=_x;y=_y;vx=_vx;vy=_vy;
}
};
vector<Pod> dynArray;
const Pod InitValue(0.6f,11.2f,0.45f,0.99f);
int main()
{
dynArray.resize(3000);
cout << "Uninitialized Vector:"<<dynArray.back().x<<","<<dynArray.back().y<< endl;
std::fill(dynArray.begin(),dynArray.end(),InitValue);
cout << "Array filled with:"<<dynArray.back().x<<","<<dynArray.back().y<< endl;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Rendez-vous http://en.cppreference.com/w/cpp/algorithm/fill pour plus d'informations

Open Source Your Knowledge: become a Contributor and help others learn. Create New Content