13 / 13 / 4
Регистрация: 15.04.2010
Сообщений: 61
|
|||||||||||
1 | |||||||||||
Массив-ссылка на некоторые элементы другого массива06.05.2013, 16:43. Показов 2195. Ответов 13
Метки нет (Все метки)
У меня тут возникла идея. Есть большой двумерный массив, но не все строки этой матрицы нам нужны. Индексы нужных строк записаны в другой массив.
что то вроде
Собственно вопрос: как по хорошему реализовать такую матрицу?
1
|
06.05.2013, 16:43 | |
Ответы с готовыми решениями:
13
Разделить элементы одного массива на элементы другого массива, записать результат в третий массив Записать в массив элементы другого массива Ввод в массив элементы другого массива. Как через массив ключей вывести нужные элементы другого массива |
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
||||||
06.05.2013, 16:58 | 2 | |||||
1
|
13 / 13 / 4
Регистрация: 15.04.2010
Сообщений: 61
|
|
06.05.2013, 17:01 [ТС] | 3 |
Идея хорошая, но ввиду работы с boost serialization надо стараться избегать работать с указателями и все-таки попробовать через ссылки.
0
|
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|
06.05.2013, 17:14 | 4 |
Почему?
Добавлено через 7 минут пока не вижу никаких препятствий использовать указатели
1
|
13 / 13 / 4
Регистрация: 15.04.2010
Сообщений: 61
|
||||||||||||||||
06.05.2013, 17:22 [ТС] | 5 | |||||||||||||||
на самом деле у меня не двумерный массив а элемент типа
Потом есть вектор, состоящий из этих матиц
Если я сделаю что то вроде вектора, который состоит из ссылок на матрицы из другого вектора
(save_costruct_data и load_construct_data, если вы знакомы с boost serialization) Поэтому, я бы хотел, чтобы можно было только "копировать" нужные элементы (объекты) по ссылке, но не заморачиваться указателями и выпадающими для них функциями с save_construct_data и load_construct_data Добавлено через 5 минут Если, конечно, ничего не решится в ссылками, тогда придется раздувать классы и писать через указатели
0
|
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|
06.05.2013, 17:39 | 6 |
Я не сильно с библиотеками boost знаком, но попробую разобраться.
Вы используете свой класс матриц? мне кажется,что этот вопрос лучше перенести в раздел boost c++
1
|
13 / 13 / 4
Регистрация: 15.04.2010
Сообщений: 61
|
|
06.05.2013, 17:54 [ТС] | 7 |
Да, класс матриц свой.
Ну так как вопрос не совсем про сам буст и как его использовать, а скорее "можно ли сделать матрицу ссылок в с++?", то делать этому вопросу в boost c++ нечего, по-моему)
0
|
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|
06.05.2013, 17:59 | 8 |
Раз уж Вы пользуетесь boost, то используйте уже и их класс матриц, а еще лучше и их вектор. Думаю,если совместить это всем, то там уже все готово и будет работать (ну судя по документации,которую я немного почитываю периодически)
1
|
13 / 13 / 4
Регистрация: 15.04.2010
Сообщений: 61
|
|
06.05.2013, 18:05 [ТС] | 9 |
С удовольствием бы это сделал, если бы к моему приходу в проект, там уже не было бы нескольких тысяч строк, которые обращаются к этим матрицам. А переписывать весь проект ради матриц... и парой операций с перекидыванием между процессами не очень продуктивно.
0
|
244 / 245 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|
06.05.2013, 18:09 | 10 |
sl_k, тогда подождите еще. может кто что знает. Извините, помочь пока не могу.
буду следить за ответами Вам. самому стало интересно
1
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||||||||||||
06.05.2013, 19:19 | 11 | |||||||||||||||
boost::reference_wrapper? http://www.boost.org/doc/libs/... l/ref.html
Добавлено через 6 минут Но в теории можно развлечься помощнее и заюзать
Простенький пример идеи:
Вцелом reference_wrapper здесь и не нужен особо. Можно заюзать просто boost::optional<T&>.
1
|
13 / 13 / 4
Регистрация: 15.04.2010
Сообщений: 61
|
||||||
06.05.2013, 20:12 [ТС] | 12 | |||||
то есть в моем случае
И для этого, кажется, надо будет переписывать save/load_construct_data для класса Matrix<T>, чего, собственно я и пытался избежать (если помните, у меня не совсем мир с этими функциями), думая, что можно как то сериализовать subVector как объект, а не как указатель (указатель ли это вообще?). Но это уже тема для boost serialization.
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
07.05.2013, 08:18 | 13 | |||||
sl_k, Непонятно, как это задевает save/load... Это должно задевать только serialize по сути... Но как бы то ни было, можно ведь унаследоваться от optional-а (пока не особо представляю как это поможет, кроме переопределения оператора =) или реализовать нечто похожее под свои нужды...
1
|
13 / 13 / 4
Регистрация: 15.04.2010
Сообщений: 61
|
|||||||||||
07.05.2013, 12:34 [ТС] | 14 | ||||||||||
Не могу не согласиться.
Вообще, думаю, что перепешу save тоже, ведь загружать я хочу уже объекты в готовую матрицу, а не ссылки, поэтому буду делать это соответстующими методами serialize в соответствующих классах матрицы, а лишняя информация при сохранении ссылок нам не нужна.
0
|
07.05.2013, 12:34 | |
07.05.2013, 12:34 | |
Помогаю со студенческими работами здесь
14
Сформировать массив записав элементы одного массива на четные места, а другого на нечетные Записать в массив такие элементы другого массива, что первая цифра четная, а вторая нечетная Есть два потока и глобальный массив, могут ли потоки перепутать элементы глобального массива или другого контейнера? Дан двумерный массив,элементы массива умножить на число К.Вывести новый массив,проссумировать элементы массива по столбцам Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |