vektör (STL/CLR)
Şablon sınıfı, rastgele erişime sahip öğelerin farklı uzunlukta dizisini denetleen bir nesneyi açıklar. Bir dizi öğeyi bitişik bir depolama bloğu olarak yönetmek için kapsayıcıyı vector
kullanırsınız. Blok, isteğe bağlı olarak büyüyen bir dizi olarak uygulanır.
Aşağıdaki açıklamada, GValue
ikincisi bir başvuru türü olmadığı sürece Değer ile aynıdır; bu durumda olurValue^
.
Sözdizimi
template<typename Value>
ref class vector
: public
System::ICloneable,
System::Collections::IEnumerable,
System::Collections::ICollection,
System::Collections::Generic::IEnumerable<GValue>,
System::Collections::Generic::ICollection<GValue>,
System::Collections::Generic::IList<GValue>,
Microsoft::VisualC::StlClr::IVector<GValue>
{ ..... };
Parametreler
Value
Denetlenen sıradaki öğenin türü.
Gereksinimler
Üst bilgi:<cliext/vector>
Ad alanı: cliext
Bildirimler
Tür Tanımı | Açıklama |
---|---|
vector::const_iterator (STL/CLR) | Denetlenen dizi için bir sabit yineleyici türü. |
vector::const_reference (STL/CLR) | Bir öğe için sabit bir başvuru türü. |
vector::const_reverse_iterator (STL/CLR) | Denetimli sıra için sabit bir ters yineleyici türü. |
vector::difference_type (STL/CLR) | İki öğe arasındaki işaretli mesafenin türü. |
vector::generic_container (STL/CLR) | Kapsayıcı için genel arabirimin türü. |
vector::generic_iterator (STL/CLR) | Kapsayıcının genel arabirimi için yineleyici türü. |
vector::generic_reverse_iterator (STL/CLR) | Kapsayıcının genel arabirimi için ters yineleyici türü. |
vector::generic_value (STL/CLR) | Kapsayıcının genel arabirimi için bir öğenin türü. |
vector::iterator (STL/CLR) | Denetlenen dizi için bir yineleyici türü. |
vector::reference (STL/CLR) | Bir öğe için bir başvuru türü. |
vector::reverse_iterator (STL/CLR) | Denetimli sıra için ters yineleyicinin türü. |
vector::size_type (STL/CLR) | İki öğe arasındaki işaretli mesafenin türü. |
vector::value_type (STL/CLR) | Öğenin türü. |
Üye İşlevi | Açıklama |
---|---|
vector::assign (STL/CLR) | Tüm öğeleri değiştirir. |
vector::at (STL/CLR) | Belirtilen konumdaki bir öğeye erişir. |
vector::back (STL/CLR) | Son öğeye erişir. |
vector::begin (STL/CLR) | Denetlenen dizinin başlangıcını belirtir. |
vector::capacity (STL/CLR) | Kapsayıcı için ayrılan depolamanın boyutunu bildirir. |
vector::clear (STL/CLR) | Tüm öğeleri kaldırır. |
vector::empty (STL/CLR) | Bir öğe olup olmadığını sınar. |
vector::end (STL/CLR) | Denetlenen dizinin bitişini belirtir. |
vector::erase (STL/CLR) | Belirtilen konumlardaki öğeleri kaldırır. |
vector::front (STL/CLR) | İlk öğeye erişir. |
vector::insert (STL/CLR) | Belirli bir konuma öğe ekler. |
vector::pop_back (STL/CLR) | Son öğeyi kaldırır. |
vector::push_back (STL/CLR) | Yeni bir son öğe ekler. |
vector::rbegin (STL/CLR) | Ters denetimli sıranın başlangıcını belirtir. |
vector::rend (STL/CLR) | Ters denetimli sıranın sonunu belirtir. |
vector::reserve (STL/CLR) | Kapsayıcı için minimum büyüme kapasitesi sağlar. |
vector::resize (STL/CLR) | Öğe sayısını değiştirir. |
vector::size (STL/CLR) | Öğe sayısını sayar. |
vector::swap (STL/CLR) | İki kapsayıcının içeriğinin yerini değiştirir. |
vector::to_array (STL/CLR) | Denetimli diziyi yeni bir diziye kopyalar. |
vector::vector (STL/CLR) | Bir kapsayıcı nesnesi oluşturur. |
Özellik | Açıklama |
---|---|
vector::back_item (STL/CLR) | Son öğeye erişir. |
vector::front_item (STL/CLR) | İlk öğeye erişir. |
Operator | Açıklama |
---|---|
vector::operator= (STL/CLR) | Denetimli sıranın yerini alır. |
vector::operator(STL/CLR) | Belirtilen konumdaki bir öğeye erişir. |
operator!= (vector) (STL/CLR) | Bir nesnenin başka vector bir vector nesneye eşit olup olmadığını belirler. |
işleç< (vektör) (STL/CLR) | Bir nesnenin başka vector bir vector nesneden küçük olup olmadığını belirler. |
operator<= (vector) (STL/CLR) | Bir nesnenin başka bir nesneden küçük veya başka bir vector vector nesneye eşit olup olmadığını belirler. |
operator== (vector) (STL/CLR) | Bir nesnenin başka vector bir vector nesneye eşit olup olmadığını belirler. |
işleç> (vektör) (STL/CLR) | Bir nesnenin başka vector bir vector nesneden büyük olup olmadığını belirler. |
operator>= (vector) (STL/CLR) | Bir nesnenin başka bir nesneden büyük veya başka bir vector vector nesneye eşit olup olmadığını belirler. |
Arabirimler
Arabirim | Açıklama |
---|---|
ICloneable | Nesneyi çoğaltma. |
IEnumerable | Öğeler arasında sıralama. |
ICollection | Öğe grubunu koruyun. |
IEnumerable<T> | Yazılan öğeler arasında sıra. |
ICollection<T> | Yazılan öğe grubunu koruyun. |
IList<T> | Sıralı türlenmiş öğe grubunu koruyun. |
IVector<Değeri> | Genel kapsayıcıyı koruyun. |
Açıklamalar
nesnesi, depolanmış bir Değer öğeleri dizisi aracılığıyla denetlediği sıra için depolama ayırır ve serbesttir ve bu da isteğe bağlı olarak artar. Büyüme, yeni bir öğe ekleme maliyetinin sabit süre amorti edilmesi şeklinde gerçekleşir. Başka bir deyişle, denetlenen sıranın uzunluğu arttıkça, sonunda öğe eklemenin maliyeti ortalama olarak artmıyor. Bu nedenle, bir vektör şablon sınıf yığını (STL/CLR) için temel kapsayıcı için iyi bir adaydır.
A vector
, rastgele erişim yineleyicilerini destekler. Bu, ilk (ön) öğe için sıfırdan son (arka) öğeye kadar sayarak doğrudan sayısal konumu verilen bir öğeye size() - 1
başvurabileceğiniz anlamına gelir. Ayrıca bir vektör, şablon sınıfı priority_queue (STL/CLR) için temel kapsayıcı için iyi bir aday olduğu anlamına gelir.
Vektör yineleyicisi, bir tanıtıcıyı ilişkili vektör nesnesine ve onun belirlediğiniz öğenin yanlılığını depolar. Yineleyicileri yalnızca ilişkili kapsayıcı nesneleriyle kullanabilirsiniz. Vektör öğesinin yanlılığı, konumuyla aynıdır.
Öğeleri eklemek veya silmek, belirli bir konumda depolanan öğe değerini değiştirebilir, böylece yineleyici tarafından belirlenen değer de değişebilir. (Kapsayıcının, eklemeden önce bir delik oluşturmak veya silmeden sonra bir delik doldurmak için öğeleri yukarı veya aşağı kopyalaması gerekebilir.) Bununla birlikte, bir vektör yineleyicisi, sapma aralığında [0, size()]
olduğu sürece geçerli kalır. Ayrıca, geçerli bir yineleyicinin başvurusu kaldırılabilir kalır. Yanlılığı ile eşit size()
olmadığı sürece, bunu kullanarak belirttiği öğe değerine erişebilir veya değerini değiştirebilirsiniz.
Bir öğenin silinmesi veya kaldırılması, depolanmış değeri için yıkıcıyı çağırır. Kapsayıcıyı yok etmek tüm öğeleri siler. Bu nedenle, öğe türü ref sınıfı olan bir kapsayıcı, hiçbir öğenin kapsayıcıdan daha uzun yaşamasını sağlamaz. Ancak, bir tutamaç kapsayıcısının öğelerini yok etmediğini unutmayın.
Üyeler
vector::assign (STL/CLR)
Tüm öğeleri değiştirir.
Sözdizimi
void assign(size_type count, value_type val);
template<typename InIt>
void assign(InIt first, InIt last);
void assign(System::Collections::Generic::IEnumerable<Value>^ right);
Parametreler
count
Eklenecek öğe sayısı.
birinci
Eklenecek aralığın başlangıcı.
son
Eklenecek aralık sonu.
Sağ
Eklenecek numaralandırma.
Val
Eklenecek öğenin değeri.
Açıklamalar
İlk üye işlevi, denetlenen sırayı değer değerinin sayı öğelerinin tekrarı ile değiştirir. Kapsayıcıyı aynı değere sahip öğelerle doldurmak için kullanırsınız.
Tamsayı türündeyse InIt
, ikinci üye işlevi ile assign((size_type)first, (value_type)last)
aynı şekilde davranır. Aksi takdirde, denetlenen sırayı [first
, last
) dizisiyle değiştirir. Bunu denetimli sırayı başka bir dizi kopyası yapmak için kullanırsınız.
Üçüncü üye işlevi, denetlenen sırayı numaralandırıcı hakkı tarafından belirlenen diziyle değiştirir. Bunu, denetimli sırayı bir numaralandırıcı tarafından açıklanan bir dizinin kopyası yapmak için kullanırsınız.
Örnek
// cliext_vector_assign.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// assign a repetition of values
cliext::vector<wchar_t> c2;
c2.assign(6, L'x');
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign an iterator range
c2.assign(c1.begin(), c1.end() - 1);
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign an enumeration
c2.assign( // NOTE: cast is not needed
(System::Collections::Generic::IEnumerable<wchar_t>^)%c1);
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
x x x x x x
a b
a b c
vector::at (STL/CLR)
Belirtilen konumdaki bir öğeye erişir.
Sözdizimi
reference at(size_type pos);
Parametreler
Pos
Erişecek öğenin konumu.
Açıklamalar
Üye işlevi, konum konumundaki denetlenen sıranın öğesine bir başvuru döndürür. Konumunu bildiğiniz bir öğeyi okumak veya yazmak için bunu kullanırsınız.
Örnek
// cliext_vector_at.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c" using at
for (int i = 0; i < c1.size(); ++i)
System::Console::Write("{0} ", c1.at(i));
System::Console::WriteLine();
// change an entry and redisplay
c1.at(1) = L'x';
for (int i = 0; i < c1.size(); ++i)
System::Console::Write("{0} ", c1[i]);
System::Console::WriteLine();
return (0);
}
a b c
a x c
vector::back (STL/CLR)
Son öğeye erişir.
Sözdizimi
reference back();
Açıklamalar
Üye işlevi, denetlenen dizinin son öğesine bir başvuru döndürür ve bu öğe boş olmamalıdır. Var olduğunu bildiğinizde son öğeye erişmek için bunu kullanırsınız.
Örnek
// cliext_vector_back.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect last item
System::Console::WriteLine("back() = {0}", c1.back());
// alter last item and reinspect
c1.back() = L'x';
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
back() = c
a b x
vector::back_item (STL/CLR)
Son öğeye erişir.
Sözdizimi
property value_type back_item;
Açıklamalar
özelliği, denetlenen dizinin boş olmayan son öğesine erişir. Var olduğunu bildiğinizde son öğeyi okumak veya yazmak için bunu kullanırsınız.
Örnek
// cliext_vector_back_item.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect last item
System::Console::WriteLine("back_item = {0}", c1.back_item);
// alter last item and reinspect
c1.back_item = L'x';
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
back_item = c
a b x
vector::begin (STL/CLR)
Denetlenen dizinin başlangıcını belirtir.
Sözdizimi
iterator begin();
Açıklamalar
Üye işlevi, denetlenen dizinin ilk öğesini veya boş bir dizinin sonunun hemen ötesinde belirten rastgele erişim yineleyicisi döndürür. Denetimli sıranın current
başlangıcını belirten bir yineleyici elde etmek için bunu kullanırsınız, ancak denetlenen sıranın uzunluğu değişirse durumu değişebilir.
Örnek
// cliext_vector_begin.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect first two items
cliext::vector<wchar_t>::iterator it = c1.begin();
System::Console::WriteLine("*begin() = {0}", *it);
System::Console::WriteLine("*++begin() = {0}", *++it);
// alter first two items and reinspect
*--it = L'x';
*++it = L'y';
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
*begin() = a
*++begin() = b
x y c
vector::capacity (STL/CLR)
Kapsayıcı için ayrılan depolamanın boyutunu bildirir.
Sözdizimi
size_type capacity();
Açıklamalar
Üye işlevi, şu anda denetlenen sırayı tutmak için ayrılmış olan depolama alanını döndürür. Bu değer en az vector::size (STL/CLR) kadar büyük bir değerdir()
. Kapsayıcının denetimli dizi için depolama alanını yeniden dağıtmadan önce ne kadar büyüyebileceğini belirlemek için bunu kullanırsınız.
Örnek
// cliext_vector_capacity.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for (int i = 0; i < c1.size(); ++i)
System::Console::Write("{0} ", c1.at(i));
System::Console::WriteLine();
// increase capacity
cliext::vector<wchar_t>::size_type cap = c1.capacity();
System::Console::WriteLine("capacity() = {0}, ok = {1}",
cap, c1.size() <= cap);
c1.reserve(cap + 5);
System::Console::WriteLine("capacity() = {0}, ok = {1}",
c1.capacity(), cap + 5 <= c1.capacity());
return (0);
}
a b c
capacity() = 4, ok = True
capacity() = 9, ok = True
vector::clear (STL/CLR)
Tüm öğeleri kaldırır.
Sözdizimi
void clear();
Açıklamalar
Üye işlevi vector::erase (STL/CLR)(
vector::begin (STL/CLR)(),
vector::end (STL/CLR)())
öğesini etkin bir şekilde çağırır. Denetimli sıranın boş olduğundan emin olmak için bunu kullanırsınız.
Örnek
// cliext_vector_clear.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// clear the container and reinspect
c1.clear();
System::Console::WriteLine("size() = {0}", c1.size());
// add elements and clear again
c1.push_back(L'a');
c1.push_back(L'b');
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
c1.clear();
System::Console::WriteLine("size() = {0}", c1.size());
return (0);
}
a b c
size() = 0
a b
size() = 0
vector::const_iterator (STL/CLR)
Denetlenen dizi için bir sabit yineleyici türü.
Sözdizimi
typedef T2 const_iterator;
Açıklamalar
türü, denetlenen dizi için sabit bir rastgele erişim yineleyicisi olarak hizmet verebilen belirtilmemiş türdeki T2
bir nesneyi açıklar.
Örnek
// cliext_vector_const_iterator.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
cliext::vector<wchar_t>::const_iterator cit = c1.begin();
for (; cit != c1.end(); ++cit)
System::Console::Write("{0} ", *cit);
System::Console::WriteLine();
return (0);
}
a b c
vector::const_reference (STL/CLR)
Bir öğe için sabit bir başvuru türü.
Sözdizimi
typedef value_type% const_reference;
Açıklamalar
türü, bir öğeye sabit başvuruyu açıklar.
Örnek
// cliext_vector_const_reference.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
cliext::vector<wchar_t>::const_iterator cit = c1.begin();
for (; cit != c1.end(); ++cit)
{ // get a const reference to an element
cliext::vector<wchar_t>::const_reference cref = *cit;
System::Console::Write("{0} ", cref);
}
System::Console::WriteLine();
return (0);
}
a b c
vector::const_reverse_iterator (STL/CLR)
Denetlenen sıra için sabit ters yineleyici türü..
Sözdizimi
typedef T4 const_reverse_iterator;
Açıklamalar
türü, denetlenen dizi için sabit bir ters yineleyici görevi görecek belirtilmemiş türdeki T4
bir nesneyi açıklar.
Örnek
// cliext_vector_const_reverse_iterator.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c" reversed
cliext::vector<wchar_t>::const_reverse_iterator crit = c1.rbegin();
cliext::vector<wchar_t>::const_reverse_iterator crend = c1.rend();
for (; crit != crend; ++crit)
System::Console::Write("{0} ", *crit);
System::Console::WriteLine();
return (0);
}
c b a
vector::difference_type (STL/CLR)
İki öğe arasındaki imzalı uzaklık türleri.
Sözdizimi
typedef int difference_type;
Açıklamalar
Türü, imzalı öğe sayısını açıklar.
Örnek
// cliext_vector_difference_type.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// compute positive difference
cliext::vector<wchar_t>::difference_type diff = 0;
for (cliext::vector<wchar_t>::iterator it = c1.begin();
it != c1.end(); ++it) ++diff;
System::Console::WriteLine("end()-begin() = {0}", diff);
// compute negative difference
diff = 0;
for (cliext::vector<wchar_t>::iterator it = c1.end();
it != c1.begin(); --it) --diff;
System::Console::WriteLine("begin()-end() = {0}", diff);
return (0);
}
a b c
end()-begin() = 3
begin()-end() = -3
vector::empty (STL/CLR)
Bir öğe olup olmadığını sınar.
Sözdizimi
bool empty();
Açıklamalar
Üye işlevi boş denetimli bir dizi için true döndürür. Vector::size (STL/CLR)() == 0
ile eşdeğerdir. Vektörlerin boş olup olmadığını test etmek için bunu kullanırsınız.
Örnek
// cliext_vector_empty.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("size() = {0}", c1.size());
System::Console::WriteLine("empty() = {0}", c1.empty());
// clear the container and reinspect
c1.clear();
System::Console::WriteLine("size() = {0}", c1.size());
System::Console::WriteLine("empty() = {0}", c1.empty());
return (0);
}
a b c
size() = 3
empty() = False
size() = 0
empty() = True
vector::end (STL/CLR)
Denetlenen dizinin bitişini belirtir.
Sözdizimi
iterator end();
Açıklamalar
Üye işlevi, denetlenen sıranın sonunun hemen ötesine işaret eden rastgele erişim yineleyicisi döndürür. Denetimli sıranın current
sonunu belirten bir yineleyici elde etmek için bunu kullanırsınız, ancak denetlenen sıranın uzunluğu değişirse durumu değişebilir.
Örnek
// cliext_vector_end.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect last two items
cliext::vector<wchar_t>::iterator it = c1.end();
--it;
System::Console::WriteLine("*-- --end() = {0}", *--it);
System::Console::WriteLine("*--end() = {0}", *++it);
// alter first two items and reinspect
*--it = L'x';
*++it = L'y';
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
*-- --end() = b
*--end() = c
a x y
vector::erase (STL/CLR)
Belirtilen konumlardaki öğeleri kaldırır.
Sözdizimi
iterator erase(iterator where);
iterator erase(iterator first, iterator last);
Parametreler
birinci
Silinecek aralığın başlangıcı.
son
Silinecek aralığın sonu.
nerede
Silinecek öğe.
Açıklamalar
İlk üye işlevi, denetimli dizinin nereye işaret ettiği öğesini kaldırır. Tek bir öğeyi kaldırmak için bunu kullanırsınız.
İkinci üye işlevi , [first
, last
) aralığındaki denetlenen dizinin öğelerini kaldırır. Sıfır veya daha fazla bitişik öğeyi kaldırmak için bunu kullanırsınız.
Her iki üye işlevi de kaldırılan öğelerin ötesinde kalan ilk öğeyi belirten bir yineleyici veya böyle bir öğe yoksa vector::end (STL/CLR)()
döndürür.
Öğeleri silirken, öğe kopyalarının sayısı, silme işleminin sonu ile sıranın daha yakın ucu arasındaki öğe sayısında doğrusaldır. (Sıranın herhangi bir ucundaki bir veya daha fazla öğeyi sildiğinde, öğe kopyası gerçekleşmez.)
Örnek
// cliext_vector_erase.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// erase an element and reinspect
System::Console::WriteLine("erase(begin()) = {0}",
*c1.erase(c1.begin()));
// add elements and display " b c d e"
c1.push_back(L'd');
c1.push_back(L'e');
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// erase all but end
cliext::vector<wchar_t>::iterator it = c1.end();
System::Console::WriteLine("erase(begin(), end()-1) = {0}",
*c1.erase(c1.begin(), --it));
System::Console::WriteLine("size() = {0}", c1.size());
return (0);
}
a b c
erase(begin()) = b
b c d e
erase(begin(), end()-1) = e
size() = 1
vector::front (STL/CLR)
İlk öğeye erişir.
Sözdizimi
reference front();
Açıklamalar
Üye işlevi, denetlenen dizinin ilk öğesine boş olmayan bir başvuru döndürür. Var olduğunu bildiğinizde ilk öğeyi okumak veya yazmak için bunu kullanırsınız.
Örnek
// cliext_vector_front.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect first item
System::Console::WriteLine("front() = {0}", c1.front());
// alter first item and reinspect
c1.front() = L'x';
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
front() = a
x b c
vector::front_item (STL/CLR)
İlk öğeye erişir.
Sözdizimi
property value_type front_item;
Açıklamalar
özelliği, denetlenen dizinin ilk öğesine erişir ve bu öğe boş olmamalıdır. Var olduğunu bildiğinizde ilk öğeyi okumak veya yazmak için bunu kullanırsınız.
Örnek
// cliext_vector_front_item.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect first item
System::Console::WriteLine("front_item = {0}", c1.front_item);
// alter first item and reinspect
c1.front_item = L'x';
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
front_item = a
x b c
vector::generic_container (STL/CLR)
Kapsayıcı için genel arabirimin türü.
Sözdizimi
typedef Microsoft::VisualC::StlClr::
IVector<generic_value>
generic_container;
Açıklamalar
türü, bu şablon kapsayıcı sınıfı için genel arabirimi açıklar.
Örnek
// cliext_vector_generic_container.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct a generic container
cliext::vector<wchar_t>::generic_container^ gc1 = %c1;
for each (wchar_t elem in gc1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// modify generic and display original
gc1->insert(gc1->end(), L'd');
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// modify original and display generic
c1.push_back(L'e');
System::Collections::IEnumerator^ enum1 =
gc1->GetEnumerator();
while (enum1->MoveNext())
System::Console::Write("{0} ", enum1->Current);
System::Console::WriteLine();
return (0);
}
a b c
a b c
a b c d
a b c d e
vector::generic_iterator (STL/CLR)
Kapsayıcının genel arabirimiyle kullanılacak bir yineleyicinin türü.
Sözdizimi
typedef Microsoft::VisualC::StlClr::Generic::
ContainerRandomAccessIterator<generic_value>
generic_iterator;
Açıklamalar
türü, bu şablon kapsayıcı sınıfı için genel arabirimle kullanılabilecek genel bir yineleyiciyi açıklar.
Örnek
// cliext_vector_generic_iterator.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct a generic container
cliext::vector<wchar_t>::generic_container^ gc1 = %c1;
for each (wchar_t elem in gc1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// modify generic and display original
cliext::vector<wchar_t>::generic_iterator gcit = gc1->begin();
cliext::vector<wchar_t>::generic_value gcval = *gcit;
*++gcit = gcval;
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b c
a a c
vector::generic_reverse_iterator (STL/CLR)
Kapsayıcının genel arabirimiyle kullanılacak ters yineleyicinin türü.
Sözdizimi
typedef Microsoft::VisualC::StlClr::Generic::
ReverseRandomAccessIterator<generic_value> generic_reverse_iterator;
Açıklamalar
türü, bu şablon kapsayıcı sınıfı için genel arabirimle kullanılabilecek genel bir ters yineleyiciyi açıklar.
Örnek
// cliext_vector_generic_reverse_iterator.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct a generic container
cliext::vector<wchar_t>::generic_container^ gc1 = %c1;
for each (wchar_t elem in gc1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// modify generic and display original
cliext::vector<wchar_t>::generic_reverse_iterator gcit = gc1->rbegin();
cliext::vector<wchar_t>::generic_value gcval = *gcit;
*++gcit = gcval;
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b c
a c c
vector::generic_value (STL/CLR)
Kapsayıcının genel arabirimiyle kullanılacak bir öğenin türü.
Sözdizimi
typedef GValue generic_value;
Açıklamalar
türü, bu şablon kapsayıcı sınıfı için genel arabirimle kullanılmak üzere depolanan öğe değerini açıklayan türdeki GValue
bir nesneyi açıklar.
Örnek
// cliext_vector_generic_value.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct a generic container
cliext::vector<wchar_t>::generic_container^ gc1 = %c1;
for each (wchar_t elem in gc1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// modify generic and display original
cliext::vector<wchar_t>::generic_iterator gcit = gc1->begin();
cliext::vector<wchar_t>::generic_value gcval = *gcit;
*++gcit = gcval;
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b c
a a c
vector::insert (STL/CLR)
Belirli bir konuma öğe ekler.
Sözdizimi
iterator insert(iterator where, value_type val);
void insert(iterator where, size_type count, value_type val);
template<typename InIt>
void insert(iterator where, InIt first, InIt last);
void insert(iterator where,
System::Collections::Generic::IEnumerable<Value>^ right);
Parametreler
count
Eklenecek öğe sayısı.
birinci
Eklenecek aralığın başlangıcı.
son
Eklenecek aralık sonu.
Sağ
Eklenecek numaralandırma.
Val
Eklenecek öğenin değeri.
nerede
Kapsayıcıda daha önce eklenecek yer.
Açıklamalar
Üye işlevlerin her biri, öğe tarafından işaret edilen öğeden önce denetimli dizide kalan işlenenler tarafından belirtilen bir sıra ekler.
İlk üye işlevi değer değeri olan bir öğe ekler ve yeni eklenen öğeyi belirten bir yineleyici döndürür. Bunu, yineleyici tarafından belirlenen bir yerden önce tek bir öğe eklemek için kullanırsınız.
İkinci üye işlevi, değer değerinin sayı öğelerinin tekrarını ekler. Bunu, aynı değerin tüm kopyaları olan sıfır veya daha fazla bitişik öğe eklemek için kullanırsınız.
Tamsayı türündeyse InIt
, üçüncü üye işlevi ile insert(where, (size_type)first, (value_type)last)
aynı şekilde davranır. Aksi takdirde, [first
, last
) dizisini ekler. Bunu, başka bir diziden kopyalanan sıfır veya daha fazla bitişik öğe eklemek için kullanırsınız.
Dördüncü üye işlevi, sağ tarafından belirlenen diziyi ekler. Bunu bir numaralandırıcı tarafından açıklanan bir dizi eklemek için kullanırsınız.
Tek bir öğe eklerken, öğe kopyalarının sayısı, ekleme noktası ile sıranın daha yakın ucu arasındaki öğe sayısında doğrusaldır. (Sıranın herhangi bir sonuna bir veya daha fazla öğe eklerken hiçbir öğe kopyası gerçekleşmez.) Giriş yineleyicisi ise InIt
, üçüncü üye işlevi sırayla her öğe için etkili bir şekilde tek bir ekleme gerçekleştirir. Aksi takdirde, öğe eklerken N
öğe kopyalarının sayısı doğrusaldır N
ve ekleme noktası ile dizinin daha yakın ucu arasındaki öğe sayısıdır.
Örnek
// cliext_vector_insert.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// insert a single value using iterator
cliext::vector<wchar_t>::iterator it = c1.begin();
System::Console::WriteLine("insert(begin()+1, L'x') = {0}",
*c1.insert(++it, L'x'));
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// insert a repetition of values
cliext::vector<wchar_t> c2;
c2.insert(c2.begin(), 2, L'y');
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// insert an iterator range
it = c1.end();
c2.insert(c2.end(), c1.begin(), --it);
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// insert an enumeration
c2.insert(c2.begin(), // NOTE: cast is not needed
(System::Collections::Generic::IEnumerable<wchar_t>^)%c1);
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
insert(begin()+1, L'x') = x
a x b c
y y
y y a x b
a x b c y y a x b
vector::iterator (STL/CLR)
Denetlenen dizi için bir yineleyici türü.
Sözdizimi
typedef T1 iterator;
Açıklamalar
türü, denetlenen dizi için rastgele erişim yineleyicisi olarak hizmet verebilen belirtilmemiş türdeki T1
bir nesneyi açıklar.
Örnek
// cliext_vector_iterator.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
cliext::vector<wchar_t>::iterator it = c1.begin();
for (; it != c1.end(); ++it)
System::Console::Write("{0} ", *it);
System::Console::WriteLine();
// alter first element and redisplay
it = c1.begin();
*it = L'x';
for (; it != c1.end(); ++it)
System::Console::Write("{0} ", *it);
System::Console::WriteLine();
return (0);
}
a b c
x b c
vector::operator= (STL/CLR)
Denetimli sıranın yerini alır.
Sözdizimi
vector<Value>% operator=(vector<Value>% right);
Parametreler
Sağ
Kopyalanacak kapsayıcı.
Açıklamalar
Üye işleci doğrudan nesnesine kopyalanır ve döndürür*this
. Bunu, denetimli sırayı sağda denetimli sıranın bir kopyasıyla değiştirmek için kullanırsınız.
Örnek
// cliext_vector_operator_as.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
cliext::vector<wchar_t> c2;
c2 = c1;
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b c
vector::operator(STL/CLR)
Belirtilen konumdaki bir öğeye erişir.
Sözdizimi
reference operator[](size_type pos);
Parametreler
Pos
Erişecek öğenin konumu.
Açıklamalar
Üye işleci konum pos öğesi için bir başvuru döndürür. Konumunu bildiğiniz bir öğeye erişmek için bunu kullanırsınız.
Örnek
// cliext_vector_operator_sub.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c" using subscripting
for (int i = 0; i < c1.size(); ++i)
System::Console::Write("{0} ", c1[i]);
System::Console::WriteLine();
// change an entry and redisplay
c1[1] = L'x';
for (int i = 0; i < c1.size(); ++i)
System::Console::Write("{0} ", c1[i]);
System::Console::WriteLine();
return (0);
}
a b c
a x c
vector::pop_back (STL/CLR)
Son öğeyi kaldırır.
Sözdizimi
void pop_back();
Açıklamalar
Üye işlevi, denetlenen dizinin boş olmayan son öğesini kaldırır. Vektöri arkadaki bir öğeye göre kısaltmak için kullanırsınız.
Örnek
// cliext_vector_pop_back.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// pop an element and redisplay
c1.pop_back();
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
a b
vector::push_back (STL/CLR)
Yeni bir son öğe ekler.
Sözdizimi
void push_back(value_type val);
Açıklamalar
üye işlevi, denetlenen sıranın sonuna değer val
içeren bir öğe ekler. Vektöre başka bir öğe eklemek için bunu kullanırsınız.
Örnek
// cliext_vector_push_back.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
vector::rbegin (STL/CLR)
Ters denetimli sıranın başlangıcını belirtir.
Sözdizimi
reverse_iterator rbegin();
Açıklamalar
Üye işlevi, denetlenen dizinin son öğesini veya boş bir dizinin başlangıcının hemen ötesinde belirten bir ters yineleyici döndürür. Bu nedenle, ters sıranın öğesini belirtir beginning
. Ters sırada görülen denetimli sıranın current
başlangıcını belirten bir yineleyici elde etmek için bunu kullanırsınız, ancak denetlenen sıranın uzunluğu değişirse durumu değişebilir.
Örnek
// cliext_vector_rbegin.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect first two items in reversed sequence
cliext::vector<wchar_t>::reverse_iterator rit = c1.rbegin();
System::Console::WriteLine("*rbegin() = {0}", *rit);
System::Console::WriteLine("*++rbegin() = {0}", *++rit);
// alter first two items and reinspect
*--rit = L'x';
*++rit = L'y';
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
*rbegin() = c
*++rbegin() = b
a y x
vector::reference (STL/CLR)
Bir öğe için bir başvuru türü.
Sözdizimi
typedef value_type% reference;
Açıklamalar
türü, bir öğeye başvuruyu açıklar.
Örnek
// cliext_vector_reference.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
cliext::vector<wchar_t>::iterator it = c1.begin();
for (; it != c1.end(); ++it)
{ // get a reference to an element
cliext::vector<wchar_t>::reference ref = *it;
System::Console::Write("{0} ", ref);
}
System::Console::WriteLine();
// modify contents " a b c"
for (it = c1.begin(); it != c1.end(); ++it)
{ // get a reference to an element
cliext::vector<wchar_t>::reference ref = *it;
ref += (wchar_t)(L'A' - L'a');
System::Console::Write("{0} ", ref);
}
System::Console::WriteLine();
return (0);
}
a b c
A B C
vector::rend (STL/CLR)
Ters denetimli sıranın sonunu belirtir.
Sözdizimi
reverse_iterator rend();
Açıklamalar
Üye işlevi, denetlenen sıranın başlangıcının hemen ötesine işaret eden bir ters yineleyici döndürür. Bu nedenle, ters sıranın öğesini belirtir end
. Ters sırada görülen denetimli sıranın current
sonunu belirten bir yineleyici elde etmek için bunu kullanırsınız, ancak denetlenen sıranın uzunluğu değişirse durumu değişebilir.
Örnek
// cliext_vector_rend.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// inspect first two items
cliext::vector<wchar_t>::reverse_iterator rit = c1.rend();
--rit;
System::Console::WriteLine("*-- --rend() = {0}", *--rit);
System::Console::WriteLine("*--rend() = {0}", *++rit);
// alter first two items and reinspect
*--rit = L'x';
*++rit = L'y';
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
*-- --rend() = b
*--rend() = a
y x c
vector::reserve (STL/CLR)
Kapsayıcı için minimum büyüme kapasitesi sağlar.
Sözdizimi
void reserve(size_type count);
Parametreler
count
Kapsayıcının yeni en düşük kapasitesi.
Açıklamalar
Üye işlevi bundan sonra en az sayıyı döndürmesini sağlarcapacity()
. Kapsayıcının, belirtilen boyuta gelene kadar denetimli dizi için depolama alanını yeniden ayırmaması gerektiğinden emin olmak için bunu kullanırsınız.
Örnek
// cliext_vector_reserve.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for (int i = 0; i < c1.size(); ++i)
System::Console::Write("{0} ", c1.at(i));
System::Console::WriteLine();
// increase capacity
cliext::vector<wchar_t>::size_type cap = c1.capacity();
System::Console::WriteLine("capacity() = {0}, ok = {1}",
cap, c1.size() <= cap);
c1.reserve(cap + 5);
System::Console::WriteLine("capacity() = {0}, ok = {1}",
c1.capacity(), cap + 5 <= c1.capacity());
return (0);
}
a b c
capacity() = 4, ok = True
capacity() = 9, ok = True
vector::resize (STL/CLR)
Öğe sayısını değiştirir.
Sözdizimi
void resize(size_type new_size);
void resize(size_type new_size, value_type val);
Parametreler
new_size
Denetlenen sıranın yeni boyutu.
Val
Doldurma öğesinin değeri.
Açıklamalar
Üye işlevlerinin her ikisi de vector::size (STL/CLR)()
işlevinin new_size döndürdüğünden emin olur. Denetlenen sırayı daha uzun hale getirmesi gerekiyorsa, ilk üye işlevi değeri value_type()
olan öğeleri eklerken, ikinci üye işlevi değer değeri olan öğeleri ekler. Denetimli sırayı daha kısa hale getirmek için her iki üye işlevi de son vector::size (STL/CLR)() -
new_size
öğe sürelerini etkili bir şekilde siler. Geçerli denetimli sırayı kırparak veya doldurarak denetimli sıranın boyut new_size olduğundan emin olmak için bunu kullanırsınız.
Örnek
// cliext_vector_resize.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
// construct an empty container and pad with default values
cliext::vector<wchar_t> c1;
System::Console::WriteLine("size() = {0}", c1.size());
c1.resize(4);
for each (wchar_t elem in c1)
System::Console::Write("{0} ", (int)elem);
System::Console::WriteLine();
// resize to empty
c1.resize(0);
System::Console::WriteLine("size() = {0}", c1.size());
// resize and pad
c1.resize(5, L'x');
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
size() = 0
0 0 0 0
size() = 0
x x x x x
vector::reverse_iterator (STL/CLR)
Denetimli sıra için ters yineleyicinin türü.
Sözdizimi
typedef T3 reverse_iterator;
Açıklamalar
türü, denetlenen dizi için ters yineleyici görevi görecek belirtilmemiş türdeki T3
bir nesneyi açıklar.
Örnek
// cliext_vector_reverse_iterator.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c" reversed
cliext::vector<wchar_t>::reverse_iterator rit = c1.rbegin();
for (; rit != c1.rend(); ++rit)
System::Console::Write("{0} ", *rit);
System::Console::WriteLine();
// alter first element and redisplay
rit = c1.rbegin();
*rit = L'x';
for (; rit != c1.rend(); ++rit)
System::Console::Write("{0} ", *rit);
System::Console::WriteLine();
return (0);
}
c b a
x b a
vector::size (STL/CLR)
Öğe sayısını sayar.
Sözdizimi
size_type size();
Açıklamalar
Üye işlevi, denetlenen sıranın uzunluğunu döndürür. Şu anda denetimli dizideki öğelerin sayısını belirlemek için bunu kullanırsınız. Tek ilgilendiğiniz dizinin sıfır olmayan bir boyuta sahip olup olmadığıysa bkz . vector::empty (STL/CLR)()
.
Örnek
// cliext_vector_size.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("size() = {0} starting with 3", c1.size());
// clear the container and reinspect
c1.clear();
System::Console::WriteLine("size() = {0} after clearing", c1.size());
// add elements and clear again
c1.push_back(L'a');
c1.push_back(L'b');
System::Console::WriteLine("size() = {0} after adding 2", c1.size());
return (0);
}
a b c
size() = 3 starting with 3
size() = 0 after clearing
size() = 2 after adding 2
vector::size_type (STL/CLR)
İki öğe arasındaki işaretli mesafenin türü.
Sözdizimi
typedef int size_type;
Açıklamalar
Türü negatif olmayan öğe sayısını açıklar.
Örnek
// cliext_vector_size_type.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// compute positive difference
cliext::vector<wchar_t>::size_type diff = c1.end() - c1.begin();
System::Console::WriteLine("end()-begin() = {0}", diff);
return (0);
}
a b c
end()-begin() = 3
vector::swap (STL/CLR)
İki kapsayıcının içeriğinin yerini değiştirir.
Sözdizimi
void swap(vector<Value>% right);
Parametreler
Sağ
İçindekileri değiştirecek kapsayıcı.
Açıklamalar
Üye işlevi, denetimli dizileri ile sağ arasında *this
değiştirir. Bunu sürekli olarak yapar ve hiçbir özel durum oluşturmaz. bunu, iki kapsayıcının içeriğini değiştirmek için hızlı bir yol olarak kullanırsınız.
Örnek
// cliext_vector_swap.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct another container with repetition of values
cliext::vector<wchar_t> c2(5, L'x');
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// swap and redisplay
c1.swap(c2);
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
x x x x x
x x x x x
a b c
vector::to_array (STL/CLR)
Denetimli diziyi yeni bir diziye kopyalar.
Sözdizimi
cli::array<Value>^ to_array();
Açıklamalar
üye işlevi, denetlenen diziyi içeren bir dizi döndürür. Denetimli sıranın bir kopyasını dizi biçiminde almak için bunu kullanırsınız.
Örnek
// cliext_vector_to_array.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// copy the container and modify it
cli::array<wchar_t>^ a1 = c1.to_array();
c1.push_back(L'd');
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// display the earlier array copy
for each (wchar_t elem in a1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c d
a b c
vector::value_type (STL/CLR)
Öğenin türü.
Sözdizimi
typedef Value value_type;
Açıklamalar
Tür, Value şablon parametresinin eş anlamlısıdır.
Örnek
// cliext_vector_value_type.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c" using value_type
for (cliext::vector<wchar_t>::iterator it = c1.begin();
it != c1.end(); ++it)
{ // store element in value_type object
cliext::vector<wchar_t>::value_type val = *it;
System::Console::Write("{0} ", val);
}
System::Console::WriteLine();
return (0);
}
a b c
vector::vector (STL/CLR)
Bir kapsayıcı nesnesi oluşturur.
Sözdizimi
vector();
vector(vector<Value>% right);
vector(vector<Value>^ right);
explicit vector(size_type count);
vector(size_type count, value_type val);
template<typename InIt>
vector(InIt first, InIt last);
vector(System::Collections::Generic::IEnumerable<Value>^ right);
Parametreler
count
Eklenecek öğe sayısı.
birinci
Eklenecek aralığın başlangıcı.
son
Eklenecek aralık sonu.
Sağ
Eklenecek nesne veya aralık.
Val
Eklenecek öğenin değeri.
Açıklamalar
Oluşturucu:
vector();
denetimli diziyi hiçbir öğe olmadan başlatır. Boş bir ilk denetimli sıra belirtmek için bunu kullanırsınız.
Oluşturucu:
vector(vector<Value>% right);
denetimli sırayı [right.begin()
, right.end()
) dizisiyle başlatır. Vektör nesnesi tarafından denetlenen sıranın bir kopyası olan ilk denetimli diziyi belirtmek için bunu kullanırsınız.
Oluşturucu:
vector(vector<Value>^ right);
denetimli sırayı [right->begin()
, right->end()
) dizisiyle başlatır. Bunu, tanıtıcısı doğru olan vektör nesnesi tarafından denetlenen sıranın bir kopyası olan ilk denetimli diziyi belirtmek için kullanırsınız.
Oluşturucu:
explicit vector(size_type count);
denetimli sırayı, her birinin değeri value_type()
olan sayı öğeleriyle başlatır. Kapsayıcıyı varsayılan değere sahip öğelerle doldurmak için kullanırsınız.
Oluşturucu:
vector(size_type count, value_type val);
, her birinin değer değeri olan sayı öğeleriyle denetlenen diziyi başlatır. Kapsayıcıyı aynı değere sahip öğelerle doldurmak için kullanırsınız.
Oluşturucu:
template<typename InIt>
vector(InIt first, InIt last);
denetimli sırayı [first
, last
) dizisiyle başlatır. Bunu, denetimli sırayı başka bir dizinin kopyası yapmak için kullanırsınız.
Oluşturucu:
vector(System::Collections::Generic::IEnumerable<Value>^ right);
, numaralandırıcı hakkı tarafından belirlenen diziyle denetimli diziyi başlatır. Bunu, denetimli sırayı bir numaralandırıcı tarafından açıklanan başka bir dizinin kopyası yapmak için kullanırsınız.
Örnek
// cliext_vector_construct.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
// construct an empty container
cliext::vector<wchar_t> c1;
System::Console::WriteLine("size() = {0}", c1.size());
// construct with a repetition of default values
cliext::vector<wchar_t> c2(3);
for each (wchar_t elem in c2)
System::Console::Write("{0} ", (int)elem);
System::Console::WriteLine();
// construct with a repetition of values
cliext::vector<wchar_t> c3(6, L'x');
for each (wchar_t elem in c3)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct with an iterator range
cliext::vector<wchar_t>::iterator it = c3.end();
cliext::vector<wchar_t> c4(c3.begin(), --it);
for each (wchar_t elem in c4)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct with an enumeration
cliext::vector<wchar_t> c5( // NOTE: cast is not needed
(System::Collections::Generic::IEnumerable<wchar_t>^)%c3);
for each (wchar_t elem in c5)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct by copying another container
cliext::vector<wchar_t> c7(c3);
for each (wchar_t elem in c7)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct by copying a container handle
cliext::vector<wchar_t> c8(%c3);
for each (wchar_t elem in c8)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
size() = 0
0 0 0
x x x x x x
x x x x x
x x x x x x
x x x x x x
x x x x x x
operator!= (vector) (STL/CLR)
Vektör eşit karşılaştırma değil.
Sözdizimi
template<typename Value>
bool operator!=(vector<Value>% left,
vector<Value>% right);
Parametreler
Sol
Karşılaştırmak için sol kapsayıcı.
Sağ
Karşılaştırmak için doğru kapsayıcı.
Açıklamalar
işleç işlevi döndürür !(left == right)
. İki vektör öğeye göre karşılaştırıldığında sol ile sağın aynı sıralanıp sıralanmadığını test etmek için bunu kullanırsınız.
Örnek
// cliext_vector_operator_ne.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
cliext::vector<wchar_t> c2;
c2.push_back(L'a');
c2.push_back(L'b');
c2.push_back(L'd');
// display contents " a b d"
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] != [a b c] is {0}",
c1 != c1);
System::Console::WriteLine("[a b c] != [a b d] is {0}",
c1 != c2);
return (0);
}
a b c
a b d
[a b c] != [a b c] is False
[a b c] != [a b d] is True
operator<
(vektör) (STL/CLR)
Vektör karşılaştırmadan küçüktür.
Sözdizimi
template<typename Value>
bool operator<(vector<Value>% left,
vector<Value>% right);
Parametreler
Sol
Karşılaştırmak için sol kapsayıcı.
Sağ
Karşılaştırmak için doğru kapsayıcı.
Açıklamalar
işleç işlevi, aynı zamanda doğru olduğu en düşük konum i
için !(right[i] < left[i])
ise true left[i] < right[i]
döndürür. Aksi takdirde, iki vektör öğeye göre karşılaştırıldığında soldan önce sıralanıp sıralı olmadığını test etmek için bunu kullanırsınız döndürürleft->size() < right->size()
.
Örnek
// cliext_vector_operator_lt.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
cliext::vector<wchar_t> c2;
c2.push_back(L'a');
c2.push_back(L'b');
c2.push_back(L'd');
// display contents " a b d"
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] < [a b c] is {0}",
c1 < c1);
System::Console::WriteLine("[a b c] < [a b d] is {0}",
c1 < c2);
return (0);
}
a b c
a b d
[a b c] < [a b c] is False
[a b c] < [a b d] is True
operator<=
(vektör) (STL/CLR)
Vektör küçük veya eşit karşılaştırma.
Sözdizimi
template<typename Value>
bool operator<=(vector<Value>% left,
vector<Value>% right);
Parametreler
Sol
Karşılaştırmak için sol kapsayıcı.
Sağ
Karşılaştırmak için doğru kapsayıcı.
Açıklamalar
işleç işlevi döndürür !(right < left)
. İki vektör öğeye göre karşılaştırıldığında soldan sonra sıralanıp sıralanmadığını test etmek için bunu kullanırsınız.
Örnek
// cliext_vector_operator_le.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
cliext::vector<wchar_t> c2;
c2.push_back(L'a');
c2.push_back(L'b');
c2.push_back(L'd');
// display contents " a b d"
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] <= [a b c] is {0}",
c1 <= c1);
System::Console::WriteLine("[a b d] <= [a b c] is {0}",
c2 <= c1);
return (0);
}
a b c
a b d
[a b c] <= [a b c] is True
[a b d] <= [a b c] is False
operator== (vector) (STL/CLR)
Vektör eşit karşılaştırması.
Sözdizimi
template<typename Value>
bool operator==(vector<Value>% left,
vector<Value>% right);
Parametreler
Sol
Karşılaştırmak için sol kapsayıcı.
Sağ
Karşılaştırmak için doğru kapsayıcı.
Açıklamalar
işleç işlevi yalnızca sol ve sağ tarafından denetlenen dizilerin uzunluğu aynıysa ve her konum i
için , left[i] ==
right[i]
işlevi için true döndürür. İki vektör öğe öğeye göre karşılaştırıldığında, left öğesinin sağ ile aynı sıralanıp sıralı olmadığını test etmek için bunu kullanırsınız.
Örnek
// cliext_vector_operator_eq.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
cliext::vector<wchar_t> c2;
c2.push_back(L'a');
c2.push_back(L'b');
c2.push_back(L'd');
// display contents " a b d"
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] == [a b c] is {0}",
c1 == c1);
System::Console::WriteLine("[a b c] == [a b d] is {0}",
c1 == c2);
return (0);
}
a b c
a b d
[a b c] == [a b c] is True
[a b c] == [a b d] is False
operator>
(vektör) (STL/CLR)
Vektör karşılaştırmadan büyük.
Sözdizimi
template<typename Value>
bool operator>(vector<Value>% left,
vector<Value>% right);
Parametreler
Sol
Karşılaştırmak için sol kapsayıcı.
Sağ
Karşılaştırmak için doğru kapsayıcı.
Açıklamalar
işleç işlevi döndürür right
<
left
. İki vektör öğeye göre karşılaştırıldığında soldan sonra sıralanıp sıralı olmadığını test etmek için bunu kullanırsınız.
Örnek
// cliext_vector_operator_gt.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
cliext::vector<wchar_t> c2;
c2.push_back(L'a');
c2.push_back(L'b');
c2.push_back(L'd');
// display contents " a b d"
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] > [a b c] is {0}",
c1 > c1);
System::Console::WriteLine("[a b d] > [a b c] is {0}",
c2 > c1);
return (0);
}
a b c
a b d
[a b c] > [a b c] is False
[a b d] > [a b c] is True
operator>=
(vektör) (STL/CLR)
Vektör büyük veya eşit karşılaştırma.
Sözdizimi
template<typename Value>
bool operator>=(vector<Value>% left,
vector<Value>% right);
Parametreler
Sol
Karşılaştırmak için sol kapsayıcı.
Sağ
Karşılaştırmak için doğru kapsayıcı.
Açıklamalar
işleç işlevi döndürür !(left < right)
. İki vektör öğeye göre karşılaştırıldığında soldan önce sıralanıp sıralanmadığını test etmek için kullanırsınız.
Örnek
// cliext_vector_operator_ge.cpp
// compile with: /clr
#include <cliext/vector>
int main()
{
cliext::vector<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// assign to a new container
cliext::vector<wchar_t> c2;
c2.push_back(L'a');
c2.push_back(L'b');
c2.push_back(L'd');
// display contents " a b d"
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("[a b c] >= [a b c] is {0}",
c1 >= c1);
System::Console::WriteLine("[a b c] >= [a b d] is {0}",
c1 >= c2);
return (0);
}
a b c
a b d
[a b c] >= [a b c] is True
[a b c] >= [a b d] is False