|
Айхрень...
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,077
|
|||||||||||||||||||||
Передача массива List в функцию по ссылке08.04.2011, 23:23. Показов 2140. Ответов 8
Метки нет (Все метки)
В общем есть самописный класс mList<T>, позволяющий реализовать массивы, как ассоциативные, так и обычные.... в общем проблема в следующем.
Сначла выложу пару методов из класса mList<T>, которые я тут использую:
А это конструктор класса mNode (одна из перегрузок)...
Есть две структуры:
Также обратил внимантие на перегруженных операторов = в классах, в первом классе _asdf он работает, если даже убрать &, передавая по значению, или даже поставить _asf &&_value (правда в этом случае перегрузка неотрабатывает, видимо не совпадают переданные данные с тем, что требует оператор=)... а во втором классе работает только при: _qwer &&_value, да и перегруженный оператор видимо неотрабатывает с таким набором входных параметров (а с другим - ругается).... Ну и возникает вопрос - как сделать класс _qwer так, чтобы он принимал нормально правый аргумент при операции =, которая используется в конструкторе класса mNode (второй листинг)... Иначе, получается так, что в массиве list - свойство a - принимает в сови значения ссылки на q1.a... и при уничтожении q1 - всё рушится....
0
|
|||||||||||||||||||||
| 08.04.2011, 23:23 | |
|
Ответы с готовыми решениями:
8
Передача массива в функцию Передача массива в функцию |
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|||||||||||||||||||||
| 09.04.2011, 08:28 | |||||||||||||||||||||
И ещё, имена классам осмысленные давать не помешает.
Добавлено через 1 минуту
1
|
|||||||||||||||||||||
|
Айхрень...
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,077
|
||||
| 09.04.2011, 11:34 [ТС] | ||||
|
Добавлено через 2 минуты Мне нужен более конструктивный ответ - где я не прав... у меня в мозгу и так уже переполнение буфера блин, от всей этой работы.....
0
|
||||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 09.04.2011, 12:06 | |
|
(*adsf)[i]
first() - должен быть перегружен и для const. Ссылок на ссылки не бывает. В новой спецификации она приравнена изначальной ссылке.
1
|
|
|
Айхрень...
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,077
|
|||
| 09.04.2011, 12:48 [ТС] | |||
|
0
|
|||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||
| 09.04.2011, 12:54 | ||
|
Для некоторых методов необходимо делать константную и не константную реализации. По идее, методы, не меняющие состояние объекта и currentPtr менять не должны. Код у тебя не приведён, так что не знаю, зачем оно вообще нужно.)
0
|
||
|
Айхрень...
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,077
|
|
| 09.04.2011, 13:12 [ТС] | |
|
Deviaphan, метод first делает внутренний указатель currentPtr на первый, метод next переводит его на следующий... все их пришлось сделать константными)) А следовательно указатель currentPtr я объявил как mutable, и всё зашились работает!
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 09.04.2011, 13:15 | |
|
У тебя с логикой там ошибка где-то.) Эти методы меняют объект и не могут быть константными.
Я думал, что first возвращает первый объект, как это происходит в STL.
0
|
|
|
Айхрень...
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,077
|
|
| 09.04.2011, 14:27 [ТС] | |
|
Всё, разобрался что может быть константным, что не может быть)) Вкуривать в STL нет ни малейшего желания (досконально, вчитываясь во все аллокаторы и т.п.), но в целом их позиция ясна, и мне нравится больше, чем моя, но меня совершенно не устраивал vector, под мои задачи хиленько годился... Так что наваял своё, более простое, но тоже более-менее стабильное и чистое))
0
|
|
| 09.04.2011, 14:27 | |
|
Помогаю со студенческими работами здесь
9
Передача массива в функцию по ссылке Передача двумерного массива в функцию по ссылке
Передача параметров в функцию по ссылке
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|