1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| //---------------------------------------------------------------------------
typedef struct
{
AnsiString Name;
int Value;
} TNamedInt;
//---------------------------------------------------------------------------
#include <vector>
//---------------------------------------------------------------------------
void __fastcall TLanguageBasicsForm::BtnStdVectorBasicsClick(TObject *Sender)
{
typedef std::vector<int> TIntVector;
TIntVector IntVector;
IntVector.push_back(11);
IntVector.push_back(22);
IntVector.push_back(33);
MemoTrace->Lines->Add("IntVector : ");
int i = 0;
for (TIntVector::const_iterator it = IntVector.begin(); it != IntVector.end(); ++it)
MemoTrace->Lines->Add(AnsiString().sprintf("IntVector[%d] = %d", i++, *it));
TIntVector::const_iterator itOpTest = IntVector.begin();
MemoTrace->Lines->Add(IntToStr(*itOpTest++));
for (TIntVector::iterator it = IntVector.begin(); it != IntVector.end(); ++it)
*it = *it * 2;
MemoTrace->Lines->Add("IntVector * 2 : ");
i = 0;
for (TIntVector::const_iterator it = IntVector.begin(); it != IntVector.end(); ++it)
MemoTrace->Lines->Add(AnsiString().sprintf("IntVector[%d] = %d", i++, *it));
typedef std::vector<TNamedInt> TNamedIntVector;
TNamedIntVector NameIntVector;
TNamedInt tmp = {"Toto", 11};
NameIntVector.push_back(tmp);
TNamedInt tmp2 = {"Titi", 22};
NameIntVector.push_back(tmp2);
TNamedInt tmp3 = {"Tata", 33};
NameIntVector.push_back(tmp3);
MemoTrace->Lines->Add("NameIntVector : ");
i = 0;
for (TNamedIntVector::const_iterator it = NameIntVector.begin(); it != NameIntVector.end(); ++it)
MemoTrace->Lines->Add(AnsiString().sprintf("IntVector[%d] = \"%s\", %d", i++, it->Name, it->Value));
i = 0;
for (TNamedIntVector::iterator it = NameIntVector.begin(); it != NameIntVector.end(); ++it)
{
it->Name = it->Name + "_Modified";
it->Value = it->Value * 2;
};
i = 0;
for (TNamedIntVector::const_iterator it = NameIntVector.begin(); it != NameIntVector.end(); ++it)
MemoTrace->Lines->Add(AnsiString().sprintf("IntVector[%d] = \"%s\", %d", i++, it->Name, it->Value));
} |
Partager