Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ часто Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ манипуляций с Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ структурами Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ привязанными Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ рСгистрам ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых вострСбованных инструмСнтов для хранСния Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, формирования ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ. Однако Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ копию ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, сохранив ΠΏΡ€ΠΈ этом Π΅Ρ‘ структуру ΠΈ содСрТимоС.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ присваиваниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² языкС 1Π‘ Π½Π΅ создаСт физичСского Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° лишь ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ссылку Π½Π° Π½Π΅Π³ΠΎ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π»ΡŽΠ±Ρ‹Π΅ измСнСния Π² Β«ΠΊΠΎΠΏΠΈΠΈΒ» ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ отразятся Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅, Ρ‡Ρ‚ΠΎ часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ логичСским ошибкам Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ПониманиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ копирования критичСски Π²Π°ΠΆΠ½ΠΎ для написания ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ прСдсказуСмого ΠΊΠΎΠ΄Π°.

Π’ этом ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ всС доступныС способы клонирования Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΎΡ‚ встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π΄ΠΎ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ создания Ρ‡Π΅Ρ€Π΅Π· конструктор. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ссылочными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вашСго ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими объСмами строк.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ простоС присваиваниС Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, пСрСходящиС с Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания. Π’ 1Π‘ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, содСрТащиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ° Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ссылочными. Когда Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ НоваяВаблица = БтараяВаблица, систСма Π½Π΅ создаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² памяти.

ВмСсто этого ΠΎΠ±Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… ярлыка Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС Π²Π΅Π΄ΡƒΡ‚ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Ρƒ. Если Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ содСрТимоС Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ΄Π½Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, измСнСния станут Π²ΠΈΠ΄Π½Ρ‹ ΠΈ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‚ΠΎΡ€ΡƒΡŽ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ИзмСнСниС структуры ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ строк Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-ссылкС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ исходного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ошибки Π² Ρ†ΠΈΠΊΠ»Π°Ρ… ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ расчСты Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… частях ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Β«ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Β».

Для создания Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ, нСзависимой ΠΊΠΎΠΏΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ»ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ памяти ΠΈ пСрСнос Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этого Ρ„Π°ΠΊΡ‚Π° являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых частых ΠΏΡ€ΠΈΡ‡ΠΈΠ½ появлСния Β«ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΡ…Β» Π±Π°Π³ΠΎΠ² Π² слоТных конфигурациях.

ВСхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ссылок

Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ 1Π‘ Ρ…Ρ€Π°Π½ΠΈΡ‚ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² стСкС, Π° сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€” Π² ΠΊΡƒΡ‡Π΅. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ адрСс Π² стСкС, Π½ΠΎ Π½Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΡƒΡ‡Π΅.

ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Клон для быстрого дублирования

Π‘Π°ΠΌΡ‹ΠΌ эффСктивным ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ способом создания ΠΊΠΎΠΏΠΈΠΈ являСтся использованиС встроСнного ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Клон. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ для создания Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Он автоматичСски создаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΠΉ структурой ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ всС строки Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π΅Π³ΠΎ скорости ΠΈ лаконичности. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ строки Π² Ρ†ΠΈΠΊΠ»Π΅. ΠœΠ΅Ρ‚ΠΎΠ΄ Клон выполняСтся Π½Π° сторонС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС Π»ΡŽΠ±Ρ‹Ρ… Ρ€ΡƒΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ.

  • πŸš€ ΠœΠ΅Ρ‚ΠΎΠ΄ создаСт ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ нСзависимый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² памяти.
  • πŸ“‹ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠΌΠ΅Π½Π°, копируСтся автоматичСски.
  • ⚑ Π­Ρ‚ΠΎ самый ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ способ для Ρ‚Π°Π±Π»ΠΈΡ† любого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ прост ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ всСго ΠΎΠ΄Π½Ρƒ строку ΠΊΠΎΠ΄Π°. Достаточно Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρƒ исходной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ПослС этого Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ бСзопасно ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΈΠ»ΠΈ ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ, Π½Π΅ затрагивая источник Π΄Π°Π½Π½Ρ‹Ρ….

Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ’Π°Π±Π»ΠΈΡ†Π° = Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Имя", ВипОписанияВипов("Π‘Ρ‚Ρ€ΠΎΠΊΠ°"));

//... Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ...

ΠšΠΎΠΏΠΈΡΠ’Π°Π±Π»ΠΈΡ†Ρ‹ = Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ’Π°Π±Π»ΠΈΡ†Π°.Клон;

ΠšΠΎΠΏΠΈΡΠ’Π°Π±Π»ΠΈΡ†Ρ‹.Π‘Ρ‚Ρ€ΠΎΠΊΠΈ.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ; // Π­Ρ‚ΠΎ Π½Π΅ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚ Π˜ΡΡ…ΠΎΠ΄Π½ΡƒΡŽΠ’Π°Π±Π»ΠΈΡ†Ρƒ

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Клон всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, Π³Π΄Π΅ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°, Π½ΠΎ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ Π½Π΅Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ΠΌ.

Π ΡƒΡ‡Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· конструктор Ρ‚ΠΈΠΏΠΎΠ²

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… спСцифичСских сцСнариях ΠΌΠ΅Ρ‚ΠΎΠ΄ Клон ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ. НапримСр, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° копия структуры, Π½ΠΎ Π±Π΅Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ»ΠΈ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π½Π° основС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях приходится ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ ΠΊ Ρ€ΡƒΡ‡Π½ΠΎΠΌΡƒ созданию Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ‡Π΅Ρ€Π΅Π· конструктор.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ начинаСтся с создания пустого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π—Π°Ρ‚Π΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ структуру ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΎΠΏΠΈΡ€Π°ΡΡΡŒ Π½Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ исходной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π­Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ доступа ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Колонки исходного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ знания ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² добавлСния Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ поля исходной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ имя ΠΈ Ρ‚ΠΈΠΏ, Π° Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² 1Π‘ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ слоТными, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈ нСсколько Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (составныС Ρ‚ΠΈΠΏΡ‹), поэтому Π²Π°ΠΆΠ½ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ описаниС Ρ‚ΠΈΠΏΠ°, Π° Π½Π΅ просто строковоС прСдставлСниС.

Π­Ρ‚Π°ΠΏ ДСйствиС ΠœΠ΅Ρ‚ΠΎΠ΄ 1Π‘
1 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ пустой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
2 Π§Ρ‚Π΅Π½ΠΈΠ΅ структуры ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π° Π˜ΡΡ…ΠΎΠ΄Π½ΠΈΠΊ.Колонки
3 Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² копию Копия.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ
4 ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк Π΄Π°Π½Π½Ρ‹Ρ… Копия.Π‘Ρ‚Ρ€ΠΎΠΊΠΈ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ПослС воссоздания структуры Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ пСрСнСсти Π΄Π°Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎ дСлаСтся Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ» ΠΏΠΎ строкам исходной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки создаСтся новая строка Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅-ΠΊΠΎΠΏΠΈΠΈ, ΠΈ значСния ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΈΠ»ΠΈ индСксам ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΉ, Π½ΠΎ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ процСссом.

πŸ“Š Какой способ копирования Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ΠœΠ΅Ρ‚ΠΎΠ΄ Клон
Π ΡƒΡ‡Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ»
Π—Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈΠ· JSON
Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΡƒ Π² XML

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ†ΠΈΠΊΠ»Π΅ с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠ΅ΠΉ

Π ΡƒΡ‡Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ возмоТности, нСдоступныС для ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Клон. Главная ΠΈΠ· Π½ΠΈΡ… β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² процСссС пСрСноса. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ копию Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ условиям.

Алгоритм строится Π²ΠΎΠΊΡ€ΡƒΠ³ Ρ†ΠΈΠΊΠ»Π° Для КаТдого... Из... Π¦ΠΈΠΊΠ». Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° Π²Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строкС исходной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, провСряСтС Π½ΡƒΠΆΠ½Ρ‹Π΅ условия ΠΈ, Ссли ΠΎΠ½ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ, создаСтС Π½ΠΎΠ²ΡƒΡŽ строку Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅-ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ΅. ЗначСния ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ полям ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π² исходной. РСгистр символов Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠΎΠ»Π΅ΠΉ 1Π‘ Π½Π΅ чувствитСлСн, Π½ΠΎ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄ΡƒΡ‚ ΠΊ ошибкС выполнСния.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ², Π³Π΄Π΅ трСбуСтся агрСгация ΠΈΠ»ΠΈ ΠΎΡ‚Π±ΠΎΡ€. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, оставив Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки с ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ количСством. Π­Ρ‚ΠΎ экономит ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

Для КаТдого Π’Π΅ΠΊΠ‘Ρ‚Ρ€ΠΎΠΊΠ° Из Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ’Π°Π±Π»ΠΈΡ†Π° Π¦ΠΈΠΊΠ»

Если Π’Π΅ΠΊΠ‘Ρ‚Ρ€ΠΎΠΊΠ°.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ > 0 Π’ΠΎΠ³Π΄Π°

НоваяБтрока = ΠšΠΎΠΏΠΈΡΠ’Π°Π±Π»ΠΈΡ†Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ;

НоваяБтрока.НомСнклатура = Π’Π΅ΠΊΠ‘Ρ‚Ρ€ΠΎΠΊΠ°.НомСнклатура;

НоваяБтрока.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = Π’Π΅ΠΊΠ‘Ρ‚Ρ€ΠΎΠΊΠ°.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

πŸ’‘

Π ΡƒΡ‡Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ†ΠΈΠΊΠ»Π΅ позволяСт ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ структуру ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‡Ρ‚ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Клон Π·Π° ΠΎΠ΄ΠΈΠ½ шаг.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² копирования

Π’Ρ‹Π±ΠΎΡ€ способа копирования Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ влияСт Π½Π° быстродСйствиС вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, особСнно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими массивами Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΠ΅Ρ‚ΠΎΠ΄ Клон являСтся бСзусловным Π»ΠΈΠ΄Π΅Ρ€ΠΎΠΌ ΠΏΠΎ скорости, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈ ΠΈΠ·Π±Π΅Π³Π°Π΅Ρ‚ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° 1Π‘.

Π ΡƒΡ‡Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ» Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ выполнСния ΠΊΠΎΠ΄Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. Если Ρ‚Π°Π±Π»ΠΈΡ†Π° содСрТит дСсятки ΠΈΠ»ΠΈ сотни тысяч строк, Ρ€Π°Π·Π½ΠΈΡ†Π° Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сСкунды, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. Π’ сСрвСрных запросах эта Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°ΠΌ.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ характСристика ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ². Она ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, балансируя ΠΌΠ΅ΠΆΠ΄Ρƒ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ.

  • ⏱ ΠœΠ΅Ρ‚ΠΎΠ΄ Клон: МгновСнноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, минимальная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° процСссор.
  • 🐒 Π ΡƒΡ‡Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ»: ЛинСйная Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ количСства строк, высокая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°.
  • πŸ›  Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ: Π ΡƒΡ‡Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт ΠΌΠ΅Π½ΡΡ‚ΡŒ структуру ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Π»Π΅Ρ‚Ρƒ, Клон β€” Π½Π΅Ρ‚.

Если ваша Π·Π°Π΄Π°Ρ‡Π° β€” просто ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ состояниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ внСсСниСм ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Клон. ΠŸΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ ΠΊ Ρ†ΠΈΠΊΠ»Π°ΠΌ стоит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π»ΠΎΠ³ΠΈΠΊΠ° бизнСс-процСсса Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ структуры Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ копирования.

β˜‘οΈ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ копирования Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π Π°Π±ΠΎΡ‚Π° со слоТными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ структурами

Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ часто содСрТат ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ со слоТными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°, БоотвСтствиС ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π’Π°Π±Π»ΠΈΡ†Ρ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΌΠ΅Ρ‚ΠΎΠ΄ Клон ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, создавая ΠΈΡ… Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ.

Однако ΠΏΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π΅Π½. ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ присваиваниС значСния поля, содСрТащСго структуру, Π² Π½ΠΎΠ²ΡƒΡŽ строку снова создаст ссылку Π½Π° Ρ‚Ρƒ ΠΆΠ΅ структуру. ИзмСнСниС Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ структуры Π² ΠΊΠΎΠΏΠΈΠΈ отразится Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅, Ссли Π½Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Клон ΡƒΠΆΠ΅ для этого Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π­Ρ‚ΠΎ создаСт эффСкт Β«ΠΌΠ°Ρ‚Ρ€Π΅ΡˆΠΊΠΈΒ», Π³Π΄Π΅ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ клонирования Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Если Π² ячСйкС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π»Π΅ΠΆΠΈΡ‚ другая Ρ‚Π°Π±Π»ΠΈΡ†Π°, Π΅Ρ‘ Ρ‚ΠΎΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. Π˜Π½Π°Ρ‡Π΅ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠ΅Π½Π°, ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ВсСгда тСстируйтС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ копирования слоТных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, особСнно Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ€ΡƒΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Для Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ бСзопасности ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ структурами ΠΌΠ΅Ρ‚ΠΎΠ΄ Клон для основной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Если ΠΆΠ΅ трСбуСтся ручная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ рСкурсивно ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ссылочныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, находящиСся Π² ячСйках.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ копирования Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ‚Π°ΠΊΠΆΠ΅ являСтся ссылочным Ρ‚ΠΈΠΏΠΎΠΌ. ΠŸΡ€ΠΈ присваивании Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°1 = Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°2 Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π΄Π²Π΅ ссылки Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°2 = Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°1.Клон для раздСлСния.

МоТно Π»ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ структуру Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±Π΅Π· Π΄Π°Π½Π½Ρ‹Ρ…?

Π”Π°, для этого создайтС Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Π½Π΅Ρ‘ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, iterating ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Колонки исходной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠœΠ΅Ρ‚ΠΎΠ΄ Клон ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, поэтому для пустой ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π±Π΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ очистки.

Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² ΠΊΠΎΠΏΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹?

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ копия являСтся нСзависимым ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ структуры (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, смСна Ρ‚ΠΈΠΏΠΎΠ²) Π² ΠΊΠΎΠΏΠΈΠΈ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ повлияСт Π½Π° ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. Ошибки Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ полям Π² ΠΊΠΎΠ΄Π΅.

Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² XML ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ?

Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π—Π°ΠΏΠΈΡΡŒXML ΠΈ Π§Ρ‚Π΅Π½ΠΈΠ΅XML вмСстС с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ создаст Ρ„ΠΈΠ·ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ копию, Π½ΠΎ являСтся самым ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ способом ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‡Π°Ρ‰Π΅ для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ВлияСт Π»ΠΈ индСксация Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ копирования?

Π”Π°, Ссли Π² исходной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ настроСны индСксы, ΠΌΠ΅Ρ‚ΠΎΠ΄ Клон скопируСт ΠΈ ΠΈΡ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ. ΠŸΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΌ создании Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ индСксы Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ послС добавлСния ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΈΠ½Π°Ρ‡Π΅ поиск ΠΏΠΎ ΠΊΠΎΠΏΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅.

МоТно Π»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ?

Π”Π°, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅. Однако ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈΠ»ΠΈ процСсс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ сСриализация Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.