Conversation
azbyx
left a comment
There was a problem hiding this comment.
Посмотрел Вашу работу, хочу отметить, что получилась довольно простая реализация N-матрицы. Мне понравилась Ваша идея применить в качестве ключа для map - vector. Так же, Вы предусмотрели реализацию для работы с константными значениями матрицы.
Недостатков не увидел.
Спасибо за возможность ознакомиться с Вашим кодом.
| /// \brief Zero-dimention proxy to contain actual value of the element | ||
| template<> | ||
| class Proxy<0> { | ||
| public: |
There was a problem hiding this comment.
У меня вопрос.
Как у Вас получилось использовать полную специализацию шаблонного класса внутри скоупа класса?
У меня на g++ выходит ошибка:
error: explicit specialization in non-namespace scope 'class Matrix<T, defaultValue, Rank>.
А Вы каким компилятором пользовались?
There was a problem hiding this comment.
Я пользую clang. Думаю, g++ тоже должно быть тоже просто. Попробуй либо вынести определение в cpp (авось сработает), либо создай stand-alone Proxy и сделай композицию внутри матрицы
There was a problem hiding this comment.
Чтобы реализовать данную функциональность оставаясь внутри класса, я просто добавил дополнительный шаблонный параметр(можно неполный тип), что позволило избежать полной специализации шаблонного класса внутри объемлющего класса. Такое ухищрение необходимо только для g++ и MSVC, так как clang, как оказалось, позволяет полную специализацию конкретно в таких случаях.
Спасибо, за помощь.
No description provided.