Форум программистов, компьютерный форум CyberForum.ru

Подстановка вычисляемого типа в шаблонах - C++

Восстановить пароль Регистрация
 
Mirmik
 Аватар для Mirmik
107 / 79 / 22
Регистрация: 27.02.2014
Сообщений: 434
18.05.2014, 10:37     Подстановка вычисляемого типа в шаблонах #1
Товарищи. Помогите разобраться с шаблонами.
С шаблонами начал разбираться вчера, и потому излагаю задачу полностью, дабы не быть непонятым.

Задача - реализовать операцию матричного умножения.
При этом данные в умножаемых матрицах могут иметь разные типы. Например, комплексный флоат и беззнаковое целое.

Предположим, что операции умножения для всех возможных вариантов определены.

Проблема в том, что выходная матрица должна иметь тип результата умножения, который, как очевидно зависит от реализации конкретного варианта умножения.

То есть надо каким-то образом определить тип результата умножения, и подставить его в качестве типа данных выходной матрицы .

Можно ли так сделать, и если да, то как?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
18.05.2014, 10:41     Подстановка вычисляемого типа в шаблонах #2
Как-то так: http://en.cppreference.com/w/cpp/language/decltype
Mirmik
 Аватар для Mirmik
107 / 79 / 22
Регистрация: 27.02.2014
Сообщений: 434
18.05.2014, 10:58  [ТС]     Подстановка вычисляемого типа в шаблонах #3
Что-то возникает такое ощущение, что мой g++ не знает decltype...
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
18.05.2014, 11:00     Подстановка вычисляемого типа в шаблонах #4
Нужен ключ -std=c++11 или -std=c++0x, проверить наличие фичи можно тут: http://gcc.gnu.org/projects/cxx0x.html
Mirmik
 Аватар для Mirmik
107 / 79 / 22
Регистрация: 27.02.2014
Сообщений: 434
18.05.2014, 11:05  [ТС]     Подстановка вычисляемого типа в шаблонах #5
Спасибо, заработало!
Yandex
Объявления
18.05.2014, 11:05     Подстановка вычисляемого типа в шаблонах
Ответ Создать тему
Опции темы

Текущее время: 05:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru