|
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 6
|
|
Как создать метод, который принимает, а также возвращает массив?04.06.2012, 16:08. Показов 39419. Ответов 27
Метки нет (Все метки)
Как создать метод, который принимает массив, совершает с ним разные метаморфозы (указанно в задаче, какие именно) и выводит результат в виде массива? Массив числовой, двумерный.
0
|
|
| 04.06.2012, 16:08 | |
|
Ответы с готовыми решениями:
27
Напишите метод, который принимает массив как аргумент и возвращает N
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||||||||||||||||
| 04.06.2012, 16:17 | ||||||||||||||||
|
Если нужно изменить элементы, при этом не изменяя размер массива или объект, на который указывает аргумент, то делать ничего особенного не надо, так как массив - ссылочный тип:
0
|
||||||||||||||||
|
|
||||||
| 04.06.2012, 16:23 | ||||||
|
как вариант.
0
|
||||||
|
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 6
|
||
| 04.06.2012, 16:33 [ТС] | ||
|
Спасибо.
0
|
||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||||||||
| 04.06.2012, 16:38 | |||||||||
Но я не зря привел несколько примеров и написал в каком случае какой больше всего подходит. Что именно вы собираетесь делать с массивом?
1
|
|||||||||
|
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 6
|
||
| 04.06.2012, 16:40 [ТС] | ||
|
Спасибо.
0
|
||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||||||
| 04.06.2012, 16:46 | ||||||
|
Значит вам больше всего подойдет первый вариант:
0
|
||||||
|
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 6
|
|
| 04.06.2012, 16:55 [ТС] | |
|
Понятно, воспользуюсь первым. Но получается, что третий вариант аналогичен первому, только добавлено "ref". В чём же разница?
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||||||
| 04.06.2012, 17:02 | ||||||
|
Разница в том, что в третьем варианте параметр передается по ссылке, то есть изменив его, изменится и оригинальный.
0
|
||||||
|
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 6
|
||
| 04.06.2012, 17:08 [ТС] | ||
|
0
|
||
|
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
|
|
| 04.06.2012, 17:15 | |
|
надеюсь правильно понимаю, если что поправят
в первом случае вы передаете ссылку, указывающую на массив, но не можете ее изменять поскольку вы передали ссылку вы таки можете изменить элементы массива (такой фокус проходит только со ссылочными типами), но не сам массив во втором случае вы можете изменить ссылку, которую получили в качестве аргумента, таким образом это может быть ссылка на массив другого размера например
0
|
|
|
|
|
| 04.06.2012, 17:44 | |
|
В первом случае методу будет передана побитовая копия массива оригинала. Любые действия с этой копией никак не отразятся на массиве оригинале.
во втором варианте передается ссылка на массив оригинал. То есть адрес ячейки памяти первого элемента. Поэтому любые изменения аргумента, изменят значение в соответствующей ячейке памяти для элемента массива. Поэтому, массив, переданный по ссылке и измененный внутри метода модифицирует оригинал.
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 04.06.2012, 17:50 | |
|
NameNick, проведу аналогию с файловой системой.
Допустим, где-то на диске имеется папка с файлами - это ваш массив в памяти. На рабочем столе лежит ярлык, ведущий в эту папку - это ваша переменная arr. Можно сделать копию этого ярлыка, открыть по ней папку и удалить все файлы. Если потом перейти в эту же папку по первому ярлыку, она будет пустой, согласны? Это мы меняем содержимое массива, обращаясь к нему по разным ссылкам. Однако ссылки (ярлыки) - тоже сами по себе физические объекты. То есть можно взять созданную копию ярлыка и переименовать ее, изменить иконку и даже поменять папку, в которую этот ярлык ведет. Все эти манипуляции никаким образом не повлияют на оригинальный ярлык, так? Вот и с методами так же: если передается ссылка на массив, то передается копия этой ссылки. То есть все, что мы с ней будем делать в методе никак не затронет оригинальную ссылку. Что, конечно же, не мешает нам получить по этой ссылке доступ к массиву (папке) и изменить его содержимое. А вот при использовании ref передается оригинал ссылки, то есть оригинальный ярлык. Следовательно, все изменения этой ссылки в методе затронут оригинал. Так понятнее?
2
|
|
|
Футболист
533 / 435 / 142
Регистрация: 31.10.2011
Сообщений: 1,010
|
|
| 04.06.2012, 18:29 | |
|
с прямыми руками ref - економия памяти
0
|
|
|
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 6
|
|
| 04.06.2012, 18:48 [ТС] | |
|
Спасибо, всё понятно, воспользовался ref'ом.
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 04.06.2012, 19:01 | |
|
Goal, экономия 32-х бит стека (64 на x64) на переменную в обмен на меньшую читаемость кода и большую возможность возникновения побочных эффектов ("любимое" слово IT-руководителя: риск)?
Попробуйте предложить эту идею руководителю проекта. О реакции напишите ![]() NameNick, лучше все-таки без ref.
0
|
|
|
Футболист
533 / 435 / 142
Регистрация: 31.10.2011
Сообщений: 1,010
|
|
| 04.06.2012, 19:27 | |
|
Не по теме: ето были предположения) свои слова забираю назад:) Добавлено через 32 секунды какой проект? я только на 3й курс перешел
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 04.06.2012, 19:50 | |
|
0
|
|
|
|
||||||||||||
| 05.06.2012, 01:17 | ||||||||||||
|
Но что-то же должно передаваться в метод? Копируется ссылка на ссылку, что влечет за собой дополнительное лишнее разыменовывание.
0
|
||||||||||||
| 05.06.2012, 01:17 | |
|
Помогаю со студенческими работами здесь
20
Как сделать метод который принимает массив int и сортирует его по возрастанию? Создаем объект cow, у которого есть метод message, который принимает аргументом text и возвращает его Метод принимает трехмерный массив, возвращает одномерный
Создайте метод, который принимает в качестве параметра массив и использует Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|