1. C++ / Говнокод #24908

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    Vector_type(const Vector_type& m1) {
    		if (this->size != m1.size) {
    			if (this->size != 0)
    				destroy_memmory();
    			this->size = m1.size;
    			this->M = new m_type[size];
    			for (int i = 0; i < size; i++)
    				this->M[i] = m1.M[i];
    		}
    		else {
    			for (int i = 0; i < size; i++)
    				this->M[i] = m1.M[i];
    		}
    	};
    	Vector_type& operator = (const Vector_type& m1) {
    		if (this->size != m1.size)
    			throw "not right =";
                   this(m1);
    		return *this;
    	};

    Действительно что могло пойти не так? просто копировать приравнять, копировать, приравнять, копировать...

    Запостил: cat_code, 12 Октября 2018

    Комментарии (1) RSS

    • кароч руки из жопы настолько что запостить верный (т.е. неверный) бренч даже со второго раза не смог истана(не истенного решения) здесь:
      Vector_type(const Vector_type& m1) {
      if (this->size != m1.size) {
      if (this->size != 0)
      destroy_memmory();
      this->size = m1.size;
      this->M = new m_type[size];
      for (int i = 0; i < size; i++)
      this->M[i] = m1.M[i];
      }
      else {
      for (int i = 0; i < size; i++)
      this->M[i] = m1.M[i];
      }
      };
      Vector_type& operator = (const Vector_type& m1) {
      if (this->size != m1.size)
      "not right =";
      *this = Vector_type (m1);
      return *this;
      }
      Ответить

    Добавить комментарий