|
Растолкуйте по шаблону С++ |
|
|
|
Jul 24 2018, 03:31
|
Местный
  
Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140

|
Помогите, плиз, устранить пробел в знаниях. Что значит второе определение Set() в этом шаблоне? Код template<class Regs> class PortImplementation { public: static void Set(uint16_t value) { Regs()->BSRR = value; }
template<uint16_t value> static void Set() //<--- ??? { Regs()->BSRR = value; } };
|
|
|
|
|
 |
Ответов
|
Jul 24 2018, 09:36
|
Группа: Участник
Сообщений: 12
Регистрация: 3-09-17
Пользователь №: 99 108

|
оптимизацию компилятора не учитываем
в первом случае будет создана функция, где регистр будет задан как "константа" (новый регистр - новая функция), а значение передаётся как параметр функции, т.е. на ассемблере будет производиться запись в регистр (вывода) из другого регистра (выводимое значение) LD R2,55 LD R1,R2
во втором случае и регистр и значение будут "константами", т.е. на ассемблере будет записываться конкретное число в конкретный регистр LD R1,55
возможно данный код служил для дополнительной оптимизации
Сообщение отредактировал technik-1017 - Jul 24 2018, 10:02
--------------------
|
|
|
|
Сообщений в этой теме
VladislavS Растолкуйте по шаблону С++ Jul 24 2018, 03:31 VladislavS Спасибо, идея понятна, поэкспериментирую на досуге... Jul 24 2018, 12:33 Kabdim Потому что это не частичная специализация. Это шаб... Jul 24 2018, 13:50 VladislavS Цитата(Kabdim @ Jul 24 2018, 16:50) Это ш... Jul 24 2018, 14:14 Kabdim метод=функция определенная в классе.
Попадает он и... Jul 24 2018, 14:41 VladislavS То есть, я сам константный вызов должен сделать, ... Jul 24 2018, 15:00 dxp Функция, объявленная внутри класса и являющаяся не... Jul 25 2018, 02:15 Kabdim Цитата(dxp @ Jul 25 2018, 05:15) Виртуаль... Jul 26 2018, 09:24  dxp Цитата(Kabdim @ Jul 26 2018, 16:24) А вы ... Jul 26 2018, 10:22   Kabdim Цитата(VladislavS @ Jul 26 2018, 12:43) ч... Jul 27 2018, 09:15    dxp Цитата(Kabdim @ Jul 27 2018, 16:15) Да км... Jul 27 2018, 10:05     Kabdim Цитата(dxp @ Jul 27 2018, 13:05) "Ме... Jul 27 2018, 10:14 VladislavS dxp, Спасибо. "Кто ясно мыслит, тот ясно изл... Jul 25 2018, 02:52 dxp Цитата(VladislavS @ Jul 25 2018, 09:52) П... Jul 25 2018, 04:59 VladislavS Я думаю, что термин "метод" начали приме... Jul 26 2018, 09:43 VladislavS dxp, знаете, меня и Kabdim (мы с ним не только учи... Jul 26 2018, 11:25 halfdoom Видимо не стоит буквально переводить "method... Jul 27 2018, 10:59 dxp Цитата(halfdoom @ Jul 27 2018, 17:59) Вид... Jul 27 2018, 11:19  halfdoom Цитата(dxp @ Jul 27 2018, 14:19) обычные ... Jul 27 2018, 12:00   dxp Цитата(halfdoom @ Jul 27 2018, 19:00) Так... Jul 27 2018, 13:02    halfdoom Цитата(dxp @ Jul 27 2018, 16:02) Что-то в... Jul 27 2018, 14:01     Forger Вставлю свои "пять копеек"
Я использую ... Aug 8 2018, 06:28 dxp Ещё был случай в истории, когда в строевой подгото... Aug 9 2018, 01:20 Forger Цитата(dxp @ Aug 9 2018, 04:20) Ещё был с... Aug 9 2018, 05:07
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|