Size: a a a

2020 July 30

LA

Liber Azerate in supapro.cxx
dekabr
насколько я помню было реализовано таким образом что если у тебя в структуре using type = ...
можно было ее в выражениях использовать просто как структура<T> не прописывая ::type
в таком виде до стандарта не дошло?
Я не понимаю
template<typename T>
using %trait%_t = typename %trait%<T>::type;
источник

AM

Aleksander Mironov in supapro.cxx
Здравствуйте.  А делая вот такие штуки, можно их в функцию передавать? И как тогда объявление функции должно выглядеть?
template<size_t arr_size> struct array {
 const size_t    size = arr_size;  
 uint32_t    data[arr_size];
};
источник

AS

Anatoly Shirokov in supapro.cxx
Aleksander Mironov
Здравствуйте.  А делая вот такие штуки, можно их в функцию передавать? И как тогда объявление функции должно выглядеть?
template<size_t arr_size> struct array {
 const size_t    size = arr_size;  
 uint32_t    data[arr_size];
};
template<size_t size> void foo(array<size> const &) {...}
источник

AM

Aleksander Mironov in supapro.cxx
Anatoly Shirokov
template<size_t size> void foo(array<size> const &) {...}
Вау! Круто, спасибо. Т.е. как я понимаю, мы и функцию шаблонную делаем?
источник

AS

Anatoly Shirokov in supapro.cxx
Aleksander Mironov
Вау! Круто, спасибо. Т.е. как я понимаю, мы и функцию шаблонную делаем?
В точку
источник

AM

Aleksander Mironov in supapro.cxx
Anatoly Shirokov
В точку
Подскажите, функция будет дублироваться под каждый эмм экземпляр шаблона? Или компилятор разрешит проблему, передавая размер массива дополнительным аргументом?
источник

AF

Aidar Fattakhov in supapro.cxx
Aleksander Mironov
Здравствуйте.  А делая вот такие штуки, можно их в функцию передавать? И как тогда объявление функции должно выглядеть?
template<size_t arr_size> struct array {
 const size_t    size = arr_size;  
 uint32_t    data[arr_size];
};
Зачем size не static constexpr?
источник

AM

Aleksander Mironov in supapro.cxx
Aidar Fattakhov
Зачем size не static constexpr?
Не знаком с последними. Я и с шаблонами не знаком, это первый раз, когда решил попробовать.
источник

AS

Anatoly Shirokov in supapro.cxx
Aleksander Mironov
Подскажите, функция будет дублироваться под каждый эмм экземпляр шаблона? Или компилятор разрешит проблему, передавая размер массива дополнительным аргументом?
Инстанцирование шаблона будет уникально для каждогл size
источник

AM

Aleksander Mironov in supapro.cxx
Aleksander Mironov
Не знаком с последними. Я и с шаблонами не знаком, это первый раз, когда решил попробовать.
Можете показать решение с constexpr?
источник

ПК

Побитый Кирпич... in supapro.cxx
dekabr
насколько я помню было реализовано таким образом что если у тебя в структуре using type = ...
можно было ее в выражениях использовать просто как структура<T> не прописывая ::type
в таком виде до стандарта не дошло?
Не type, а typename не надо писать теперь
источник

ПК

Побитый Кирпич... in supapro.cxx
Aleksander Mironov
Можете показать решение с constexpr?
size делай static constexpr
источник

AM

Aleksander Mironov in supapro.cxx
Побитый Кирпич
size делай static constexpr
not allowed in anonymous struct. У меня в оригинале структура в другой сидит.
источник

ПК

Побитый Кирпич... in supapro.cxx
Aleksander Mironov
not allowed in anonymous struct. У меня в оригинале структура в другой сидит.
Дак обзови структуру
источник

ПК

Побитый Кирпич... in supapro.cxx
В любом случае, static там необходим
источник

D

Danya in supapro.cxx
Aleksander Mironov
not allowed in anonymous struct. У меня в оригинале структура в другой сидит.
Разве анонимные структуры это не расширение компиляторов и не запрещены стандартом?
источник
2020 July 31

VS

Vlad Serebrennikov in supapro.cxx
Danya
Разве анонимные структуры это не расширение компиляторов и не запрещены стандартом?
struct { int a; } s;
вполне себе валидный код
источник

AM

Aleksander Mironov in supapro.cxx
Anatoly Shirokov
template<size_t size> void foo(array<size> const &) {...}
Отказывает собираться. Пишет undefined reference to (Функция)
источник

AS

Anatoly Shirokov in supapro.cxx
Aleksander Mironov
Отказывает собираться. Пишет undefined reference to (Функция)
Из cpp файла в header шаблон перенеси
источник

AF

Aidar Fattakhov in supapro.cxx
Aleksander Mironov
not allowed in anonymous struct. У меня в оригинале структура в другой сидит.
? Рили?
источник