olarak görünecektir kod aşağıda:
#include <vector>
void function()
{
std::vector<double> array(100);
//some work that can return when or throw an exception
//...
return;
}
gerçekten dizi elemanları başlatmak istemiyorum ve diziyi yeniden boyutlandırmak gerekmez ve yineleyicinızı gerekmez varsa, Ayrıca kullanabilirsiniz: Her iki durumda da
#include <memory>
void function()
{
std::unique_ptr<double[]> array(new double[100]);
//some work that can return when or throw an exception
//...
return;
}
Eğer t gerekmez eğer,
Nihayet vb array[0]
, array[1]
dizi elemanlarını erişmek o fonksiyonun dışına verilerin sahipliğini aktarmak derleme zamanında dizinin boyutunu bilmek ve boyutunu da doğrudan bir dizi nesnesi olan düşünebilir, çok büyük değil:
void function()
{
double array[100]; // uninitialized, add " = {}" to zero-initialize
// or:
std::array<double, 100> array; // ditto
//some work that can return when or throw an exception
//...
return;
}
Evet var. "Akıllı işaretçiler" üzerinde bir Google araması yapın. –
Veya daha iyisi ['std :: array'] (http://en.cppreference.com/w/cpp/container/array) (veya muhtemelen [' std :: vektör'] (http: //en.cppreference com/ağırlık/cPP/kap/vektör)). –
Rust ve C++ 'da kullanılan RAII deyimine bakın. –