diff --git a/book/04-массивы-ассоциативные-массивы-и-строки/README.md b/book/04-массивы-ассоциативные-массивы-и-строки/README.md index 003a587..0effc5f 100644 --- a/book/04-массивы-ассоциативные-массивы-и-строки/README.md +++ b/book/04-массивы-ассоциативные-массивы-и-строки/README.md @@ -263,16 +263,16 @@ auto a = [1, 5, 2, 3, 6]; Инициализация массива другим массивом (`auto b = a`), равно как и присваивание одного массива другому (`int[] b; … b = a;`) не влечет скрытого автоматического копирования данных. Как показано на рис. 4.2, эти действия просто заставляют `b` ссылаться на ту же область памяти, что и `a`. -Более того, получение среза массива `b` сокращает область памяти, «видимую» `b`, также без всякого копирования `b`. При условии что исходное состояние массива задано на рис. 4.2, выполнение инструкции +![image-4-1-4-2](images/image-4-1-4-2.png) + +***Рис. 4.2.*** *При выполнении инструкции `auto b = a;` содержимое a не копируется: вместо этого создается объект типа «массив», который ссылается на те же данные* + +Более того, получение среза массива `b` сокращает область памяти, «видимую» `b`, также без всякого копирования `b`. При условии что исходное состояние массива задано на рис. 4.2, выполнение инструкции ```d b = b[1 .. $ - 2]; ``` -![image-4-1-4-2](images/image-4-1-4-2.png) - -***Рис. 4.2.*** *При выполнении инструкции `auto b = a;` содержимое a не копируется: вместо этого создается объект типа «массив», который ссылается на те же данные* - приведет лишь к сокращению диапазона, доступного `b`, без какого-либо копирования данных (рис. 4.3). ![image-4-1-4-3](images/image-4-1-4-3.png)