170 похожих чатов

Привет! Есть array с константами. Есть функция с шаблонным параметром. Можно как-то

запихнуть функцию с шаблонным параметром в цикл for, значение которого будет == константе под индексом?

Я хочу сделать так:

int array[20] = { ... };
for (size_t i = 0; i < n; i++) {
func<array[i]>()
}

Есть ли какой-то вариант?

31 ответов

20 просмотров

Я ещё только учу массивы, но сразу вижу ошибку Не стоит называть массив, как array, так как это является ключевым словом

Артур
Я ещё только учу массивы, но сразу вижу ошибку Не...

ключевое слово std::array<T, n>, если что. Шаблонный класс просто по имени отсутствует в коде

Ruslan-🪐 Автор вопроса
Артур
Я ещё только учу массивы, но сразу вижу ошибку Не...

А чтобы array не являлся ключевым словом, не нужно использовать using namespace std;

Артур
Я ещё только учу массивы, но сразу вижу ошибку Не...

std::vector<smth> vector кмк вполне нормально. те кто юзает namespace std- как раз нет

Stepan Zorin
ключевое слово std::array<T, n>, если что. Шаблонн...

но да, лучше не использовать array всё таки.

Stepan Zorin
ключевое слово std::array<T, n>, если что. Шаблонн...

Ну, обычно используют using namespace std, поэтому да

Артур
Ну, обычно используют using namespace std, поэтому...

да даже с ним надо указать параметры шаблона, типа std::array просто как такового нет

Ruslan-🪐 Автор вопроса

Знает кто решение?

Ruslan 🪐
Не делай так

Пока учусь, это экономит мне время в написании кода и сам код читабельнее и меньше

Артур
Пока учусь, это экономит мне время в написании код...

код читабельнее при std::cout std::cin, такое бросается в глаза и видишь ввод/вывод. вот насчет using std::string это уже получше

Michael
код читабельнее при std::cout std::cin, такое брос...

Ну, пока что буду использовать Иду по урокам симпл кода

Нет такого варианта нет аргументом шаблона может быть либо тип, либо Константа времени компиляции

Ruslan 🪐
Знает кто решение?

Решения не существует

Ruslan-🪐 Автор вопроса
Ilya Zviagin
Нет такого варианта нет аргументом шаблона может б...

Я вроде помню, что templat'ы полные по тьюрингу, и думал что можно указать компилятору, чтобы он заинлайнил

Michael
код читабельнее при std::cout std::cin, такое брос...

Тоже учусь, такой вопрос при использование в структуре using namespace std; на вывод cout компилятор выдавал ошибку, а при удалении using namespace и использование std::cout этой ошибки уже не было. С чем это может быть связано?

Вячеслав
Тоже учусь, такой вопрос при использование в струк...

С чем угодно. Пока люди телепатии не научились и никто не знает, что ты там писал или не писал.

Вячеслав
Тоже учусь, такой вопрос при использование в струк...

Штатный экстрасенс в отпуске. Ошибку в студию

Вячеслав
Тоже учусь, такой вопрос при использование в струк...

может быть связано с твоим кодом, который ты не прислал

Ruslan-🪐 Автор вопроса

А вот и ответ на мой вопрос: https://godbolt.org/z/cTq6vPx8K Нашёл способ здесь: https://stackoverflow.com/questions/46871005/how-to-unroll-a-for-loop-using-template-metaprogramming

а не проще просто 5 раз написать вызов функции ?

Ruslan-🪐 Автор вопроса
Ilya Zviagin
а не проще просто 5 раз написать вызов функции ?

А не проще 500 раз написать вызов функции?

Ruslan 🪐
А не проще 500 раз написать вызов функции?

Проще написать программу как-то по-другому. Я уверен, есть методы...

Ilya Zviagin
а не проще просто 5 раз написать вызов функции ?

Да ладно, твист через integral_constant довольно тривиальный

Ruslan-🪐 Автор вопроса
S.E.
Поочему?

Если компилятор по какой-то причине не справится с оптимизацией копирования константного массива, то это просто так копировать n байт + в дебаге точно не будет таких оптимизаций

🐈
Если компилятор по какой-то причине не справится с...

А как узнать, справился ли компилятор с оптимизацией, или нет? И что делать, если нужно, чтобы не справился?

S.E.
А как узнать, справился ли компилятор с оптимизаци...

1. Смотреть ассембли программы. 2. Вылавливать эджкейсы оптимизатора разве что.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта