1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Bigint operator* (const int target) { Bigint save(*this); ull s =0; for (int i = 0; i <= index; i++) { *content[i] = *content[i] * target; *content[i] = *content[i] + s; s = (*content[i]) >> 16; *content[i] = *content[i] & 0x0000FFFF; } if (s) { save.expand(s); } return save; } | cs |
디버깅 해보니까 곱연산 이후에 지금 함수가 돌아가는 클래스의 소멸자가 나오는데
왜 자기마음대로 소멸하는건지;;
일단 vector 로 바꾸고 생각하시쥬~ 아까 포인터 배열 만들어 놓은거 보니 좀 정신없던데
그게 만약 정말 포인터들의 배열이면 깊은 복사를 해야 정상적일테고,
뭔가 임시객체와 관련된 엿같은 무언가가 있을거 같다..(코드 안읽고 뻘소리함)