Swap

Aynı türdeki matrisler, vektörler ve dinamik diziler arasında tamponları değiştirir.

bool matrix<T>::Swap(
  matrix<T>  &mat     // değiştirilecek matris
   );
 
bool matrix<T>::Swap(
  vector<T>  &vec     // değiştirilecek vektör
   );
 
bool matrix<T>::Swap(
  T          &array[] // değiştirilecek dizi
   );
 
bool vector<T>::Swap(
  vector<T>  &vec     // değiştirilecek vektör
   );
 
bool vector<T>::Swap(
  matrix<T>  &mat     // değiştirilecek matris
   );
 
bool vector<T>::Swap(
  T          &array[] // değiştirilecek dizi
   );
 

Parametreler

mat, vec veya array

[in]  İlişkili tamponu değiştirilecek matris, vektör veya dinamik dizi.

Dönüş Değeri

Başarılı olursa true, aksi halde false döndürür.

Not

Dizi boyutu matris veya vektör boyutunun katı olmalıdır. Vektör boyutu matris boyutunun katı olmalıdır.

Örnek:

template<typename T>
bool Test(void)
  {
   matrix<Ta(3,5);
   matrix<Tb(5,4);
   vector<Tv(10);
 
   if(!a.Swap(b) || a.Rows()!=5 || a.Cols()!=4 || b.Rows()!=3 || b.Cols()!=5)
      return(false);
 
   if(!a.Swap(v) || v.Size()!=20 || a.Rows()!=1 || a.Cols()!=10)
      return(false);
 
//--- negatif örnek: dinamik olmayan dizi
   T arr1D[10];
   if(a.Swap(arr1D) || GetLastError()!=ERR_INVALID_ARRAY)
      return(false);
   if(v.Swap(arr1D))
      return(false);
 
//--- negatif örnek: geçersiz dizi boyutu
   T arr2D[][3];
   ArrayResize(arr2D,5);
   v.Resize(15);
   if(a.Swap(arr2D) || !v.Swap(arr2D))
      return(false);
 
   return(true);
  }
//+------------------------------------------------------------------+
//| Betik programı başlangıç fonksiyonu                                    |
//+------------------------------------------------------------------+
int OnStart(void)
  {
   bool res=true;
 
   res&=Test<double>();
   res&=Test<float>();
   res&=Test<complex>();
   res&=Test<complexf>();
 
   Print(res ? "passed" : "failed");
   return(res ? 0 : -1);
  }

Ayrıca bakınız

Assign