Assign

자동 캐스트로 행렬, 벡터 또는 배열을 복사

bool matrix::Assign(
  const matrix<T>  &mat     // 복사된 행렬
   );
bool matrix::Assign(
  const void       &array[] // 복사된 행렬
   );
bool vector::Assign(
  const vector<T>  &vec     // 복사된 행렬
   );
bool vector::Assign(
  const void       &array[] // 복사된 행렬
   );
 

매개 변수

m, v or array

【in】 값이 복사되는 행렬, 벡터 또는 배열.

반환값

성공하면 true를 반환하고 그렇지 않으면 false를 반환

참조

복사와는 달리, Assign 메서드는 배열 복사도 허용합니다. 이 경우 자동 캐스트가 발생하고 결과 행렬 또는 벡터가 복사된 배열의 크기에 맞게 조정됩니다.

예:

//--- 행렬 복사
  matrix a= {{22}, {33}, {44}};
  matrix b=a+2;
  matrix c;
  Print("matrix a \n"a);
  Print("matrix b \n"b);
  c.Assign(b);
  Print("matrix c \n"a);
 
//--- 배열을 행렬에 복사
  matrix double_matrix=matrix::Full(2,10,3.14);
  Print("double_matrix before Assign() \n"double_matrix);
  int int_arr[5][5]= {{12}, {34}, {56}};
  Print("int_arr: ");
  ArrayPrint(int_arr);
  double_matrix.Assign(int_arr);
  Print("double_matrix after Assign(int_arr) \n"double_matrix);  
  /*
   matrix a
   [[2,2]
    [3,3]
    [4,4]]
   matrix b
   [[4,4]
    [5,5]
    [6,6]]
   matrix c
   [[2,2]
    [3,3]
    [4,4]]
 
   double_matrix before Assign() 
   [[3.14,3.14,3.14,3.14,3.14,3.14,3.14,3.14,3.14,3.14]
    [3.14,3.14,3.14,3.14,3.14,3.14,3.14,3.14,3.14,3.14]]
    
   int_arr
       [,0][,1][,2][,3][,4]
   [0,]   1   2   0   0   0
   [1,]   3   4   0   0   0
   [2,]   5   6   0   0   0
   [3,]   0   0   0   0   0
   [4,]   0   0   0   0   0
   
   double_matrix after Assign(int_arr
   [[1,2,0,0,0]
    [3,4,0,0,0]
    [5,6,0,0,0]
    [0,0,0,0,0]
    [0,0,0,0,0]]
 
  */

또다른 참조

Copy