|
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 23
|
|
Как передать функции массив в качестве аргумента?23.04.2012, 17:19. Показов 131110. Ответов 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 | |
|
Нюансы работы с массивами: как правильно передать массив в функцию в качестве аргумента?
Как передать массив структур в функцию в качестве параметра, чтобы изменения в функции меняли исходный массив? Как передать функцию в качестве аргумента? Передача функции в качестве аргумента массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|