|
245 / 246 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|||||||||||
Критику в студию25.04.2013, 23:39. Показов 6377. Ответов 30
Метки нет (Все метки)
Доброго всем времени суток! Я вот написал такой себе класс матриц, прошу оценить его и посоветовать что можно улучшить или изменить, как повысить быстродействие или, возможно, что-то надо добавить.
Знаю,что надо сделать шаблон класса для разных типов данных, но дабы сейчас все было красиво и хорошо не загрязнял этим код! Любые дельные советы будут "лайкнуты"! matrix.h
1
|
|||||||||||
| 25.04.2013, 23:39 | |
|
Ответы с готовыми решениями:
30
из Борланда в Студию Тестовое задание от работадателя. Хотелось бы услышать критику. Как войти в Visual студию? |
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 26.04.2013, 16:22 | |
|
0
|
|
|
245 / 246 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|||
| 26.04.2013, 16:55 [ТС] | |||
|
Спасибо всем за то,что обратили внимание на эту тему! Я прочитал очень много дельных советов, а так же было очень много вопросов по поводу "почему одномерный массив", "шаблон" и зачем там функции, которые неуместны в классе.
По поводу одномерного массив, хочу сказать, что это только начальная стадия разработки проекта. Всем известно,что функция new очень дорога по времени. С помощью этого класса буду решаться СЛАУ размерностями 100 на 100,а возможно и больше. Потому оптимизируем как можем. По поводу шаблона было все сказано еще в самом вопросе. Функции, такие как преобразование Хаусхолдера будут вынесены в отдельный файл(возможно класс методов работы со СЛАУ) чуть позже, тоже самое касается класса вывода матрицы. В одном из первых постов было сделано замечание, на которое я особо хочу обратить внимание Что хочу сказать по поводу использования std::vector, не нравится мне эта идея. обращение к матрице увеличивает время работы программы. Так же было замечание,что нигде не используется проверка на размеры. Да, так оно и есть,ибо в самом начале файлов написано "/*проверка от дураков не предусмотрена*/", дабы пока что не загрязнять код. По поводу очень полезного замечания Отдельное спасибо хочу сказать Olivеr, 0x10, Kastaneda, diagon. Еще остается вопрос, а как сделать так,чтобы в операторах +, - и тд. не надо было создавать временную переменную данного класса?
1
|
|||
|
|
||
| 26.04.2013, 17:12 | ||
|
Там много лишнего, но общий подход, думаю, должен быть таким.
1
|
||
|
245 / 246 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|
| 26.04.2013, 17:21 [ТС] | |
|
yuron_477, спасибо. Правда из-за шаблонов очень сложно читается)потому не хотел пока писать все в шаблонах))но спасибо)
0
|
|
|
Higher
|
|||
| 26.04.2013, 17:33 | |||
|
В нормальных компиляторах есть rvo/nrvo/rvalue-references, гарантирующие, что лишнего копирования/конструирования не будет.
2
|
|||
| 26.04.2013, 17:34 | |
|
0
|
|
|
245 / 246 / 38
Регистрация: 08.04.2013
Сообщений: 927
|
|
| 26.04.2013, 17:39 [ТС] | |
|
diagon, я вот только начал учиться пользоваться бустами и еще не успел заметить, что там уже есть матрицы) Спасибо,что открыли глаза на это)
0
|
|
| 26.04.2013, 17:48 | |
|
0
|
|
| 26.04.2013, 17:50 [ТС] | |
|
0
|
|
| 26.04.2013, 18:06 | |
|
0
|
|
| 26.04.2013, 21:23 | |
|
0
|
|
| 26.04.2013, 21:23 | |
|
Помогаю со студенческими работами здесь
31
Где взять STLPort под 13 студию? Как студию подружить со статической библиотекой скопилированой в MinGW ? На критику Надеюсь на критику Можно услышать критику Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|