|
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 23
|
|
Как передать функции массив в качестве аргумента?23.04.2012, 17:19. Показов 130490. Ответов 96
Метки нет (Все метки)
Всем привет! Подскажите, как передать функции массив в качестве аргумента? И как сделать, чтобы функция возвращала массив?
0
|
|
| 23.04.2012, 17:19 | |
|
Ответы с готовыми решениями:
96
Как в качестве аргумента функции передать массив? Вызов родовой функции (нужно передать массив в качестве аргумента функции через указатель)
|
|
0 / 0 / 0
Регистрация: 28.01.2019
Сообщений: 8
|
|
| 01.03.2019, 11:49 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 28.01.2019
Сообщений: 8
|
|||||||||||
| 01.03.2019, 12:31 | |||||||||||
0
|
|||||||||||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|||||||
| 01.03.2019, 12:39 | |||||||
T (&arr)[N], только здесь в качестве "возвращающего типа".Проверить себя можно так:
1
|
|||||||
|
0 / 0 / 0
Регистрация: 28.01.2019
Сообщений: 8
|
||
| 10.03.2019, 14:59 | ||
|
Для меня это только недавно открытая тема (указатели) и оператор "->" является пока что тайной. Но спасибо, буду знать что есть ещё один способ возвратить массив из функции.
0
|
||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
||||||||||||||||||||||||||||
| 10.03.2019, 17:19 | ||||||||||||||||||||||||||||
|
Как может выглядеть функция, которая возвращает int?
float?
Как может выглядеть функция, которая возвращает int?
float?
Стрелочка -> после функции указывает компилятору,какой тип данных должна вернуть функция. Здесь:
-> указывает компилятору, что функция должна вернуть такой же тип данных, как у переменной arrПричем, тип переменной arr - ссылка на массив.Значит функция должна вернуть точно такую же ссылку на массив. Можно вернуть указатель на массив, или на первый элемент, или по ссылкам. Можно вернуть массив по значению в составе агрегирующей структуры. Но нельзя вернуть сам массив. Или как ещё говорят: нельзя вернуть массив по значению
1
|
||||||||||||||||||||||||||||
|
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
|
|
| 10.03.2019, 18:53 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 28.01.2019
Сообщений: 8
|
|
| 12.03.2019, 19:43 | |
|
Спасибо огромное!
Но вот ещё один вопрос: как можно передать в функцию массив string? Желательно в шаблонную, возможно для этого уже существуют решения из STL. Проблема, как я понял, в том, что при попытке запихнуть подобный массив в шаблонную функцию, <size_t N> не может правильно определиться.
0
|
|
|
0 / 0 / 0
Регистрация: 28.01.2019
Сообщений: 8
|
|
| 03.04.2019, 09:24 | |
|
Всё, разобрался, просто делаешь контейнер с типом string (vector<string>) и передаешь в функцию.
0
|
|
|
|
|||||||
| 05.05.2019, 10:22 | |||||||
|
выдает ошибку что нехватает запятой
0
|
|||||||
|
|
||
| 05.05.2019, 13:20 | ||
|
Croessmah, пытаюсь понять что это такое
type (var1)[var2] var1==&arr. почему именно в круглых скобках ? только ссылка или любая int переменная может быть ? обе переменные одного типа должны быть? любого типа можно? Добавлено через 3 минуты так же непонятно зачем вся эта эпопея с передачей или не передачей второго аргумента как размер массива, если можем просто передать массив и внутри функции посчитать его размер (кто count-ом любит, кто sizeof и тд), или это не круто или неправильно, или почему не считают его размер внутри функции?
0
|
||
|
Неэпический
|
|||||||||||
| 05.05.2019, 13:30 | |||||||||||
|
Начнем с простого:
type (&arr)[10] - ссылка на массив из 10 элементов типа type
arr - ссылка на массив из N элементов типа T.При передаче в данную функцию массива, параметры шаблона N и T будут выведены компилятором на основе аргумента функции.
0
|
|||||||||||
|
|
||
| 18.07.2019, 16:24 | ||
|
1. зачем там class когда по идее должно быть typename ? и если заменить оно также работает2. когда у нас ссылка на массив, мы обязаны указать размер, например void foo(int (&a)[5]). N это size_t но если пишу как в цитате void foo(int (&a)[size_t]) получаю кучу ошибок. как можно исправить ? развернуть так сказать тимплейт в обычную функцию
0
|
||
|
Неэпический
|
||||||||
| 18.07.2019, 16:27 | ||||||||
|
Под конкретное значение:
0
|
||||||||
|
|
||||||||||||
| 18.07.2019, 16:48 | ||||||||||||
|
Добавлено через 16 минут я имею ввиду, вот упростим наш тимплейт до такого вида
это так только в тимплейте можно или я могу обычную функцию написать, с авто подсчётом вроде
0
|
||||||||||||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|||||||
| 18.07.2019, 17:08 | |||||||
А шаблонные функции - это не одна функция, а целый набор, который генерируется для каждого типа массива свой собственный (т.е. если у тебя вызывается для массивов с размерами 10, 20 и 50, то шаблонная функция инстанцируется тоже 3 раза, для каждого из размеров получится своя собственная "функция", где это число будет везде подставлено)
2
|
|||||||
| 18.07.2019, 17:08 | |
|
Нюансы работы с массивами: как правильно передать массив в функцию в качестве аргумента?
Как передать массив структур в функцию в качестве параметра, чтобы изменения в функции меняли исходный массив? Как передать функцию в качестве аргумента? Передача функции в качестве аргумента массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж»
Уважаемые коллеги!
Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
|
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
|
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
|
|
Просветление в 5 секунд
kumehtar 10.07.2026
Андрей Веретенников выдал фразу недавно: "Вам не обязательно кем-то себя считать"
|
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|