ФлеймФорумПрограммирование

Общие вопросы по программированию (2 стр)

Страницы: 1 2 3 41186 Следующая »
#15
12:33, 18 ноя 2019

nes
> Какой поинт от std::array<int, 0>?
база индукции же

#16
12:37, 18 ноя 2019

entryway
Допустим есть енум:

enum class Keys : int32
{
  Escape,

  MaximumKeys
};

class KeyboardState
{
private:

  array<uint8, Keys::MaximumKeys> keys;
};

А потом, по мере реализации добавляем еще коды клавиш.

#17
12:39, 18 ноя 2019

nes

А потом портировал на планшет где кнопок нет и заявив MaximimKeys в 0 код не поломается. И т.п.

#18
12:41, 18 ноя 2019

=A=L=X=
На планшете либо вообще KeyboardState не будет,
либо будет софтварный враппер,
но поинт кажется уловил.

#19
13:03, 18 ноя 2019

nes
> На планшете либо вообще KeyboardState не будет,
> либо будет софтварный враппер,

И зачем поддерживать две версии кода, когда можно просто параметризовать через 0?
;)

#20
13:06, 18 ноя 2019

Ogra
Я не говорю про две версии, я говорю про одну из них, на выбор.
Ставить кол-во клавиш в 0 - логически неверное решение,
в данном случае.

#21
13:15, 18 ноя 2019

nes
> Ставить кол-во клавиш в 0 - логически неверное решение,

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

Возьмем не KeyboardState, а, скажем, источники глобального освещения, от 0 до 16 (просто предположим) и убер-оптимизированный софтварный рендер, с кодогенератором. На шестнадцати источниках будет цикл, на двух компилятор сделает loop-unroll, а на нуле - вырежет напрочь глобальное освещение.

#22
13:36, 18 ноя 2019

Ogra
>Оно может быть не ручным, а автоматическим - из редактора, геймдизайнером, например.
Тогда тем более не взлетит, ибо шаблоны - это время-компиляции.
Да, с примером с источниками освещения юзабельно.

#23
13:40, 18 ноя 2019

nes
> Тогда тем более не взлетит, ибо шаблоны - это время-компиляции.

Кодогенерацию никто не отменял, хоть на уровне game.dll, хоть на уровне level.dll . По-своему логично - нафига брать плюсы, если не пользоваться всяческими компайл-тайм оптимизациями.

#24
14:03, 18 ноя 2019

Ogra
> если не пользоваться всяческими компайл-тайм оптимизациями.

люблю такой шаблонный шаблон в шаблоне - это сарказм

#25
14:53, 18 ноя 2019

Кто какой вариант выберет и почему?

sf::Window window = sf::Window(sf::VideoMode(640, 480), "Tittle", sf::Style::Default);
auto window = sf::Window(sf::VideoMode(640, 480), "Tittle", sf::Style::Default);
sf::Window window(sf::VideoMode(640, 480), "Tittle", sf::Style::Default);
#26
15:17, 18 ноя 2019

Vlad2001_MFS
> Кто какой вариант выберет

Я выбираю третий.

> и почему?

Из эстетических чуйств.

#27
15:21, 18 ноя 2019

третий.

#28
15:24, 18 ноя 2019

Первые 2 варианта, как-то нехорошо пахнут ненужным копированием, на ровном месте... особенно, если конструктор копирования не определён явно.

#29
15:45, 18 ноя 2019

auto window = WindowManager->createWindow()

Страницы: 1 2 3 41186 Следующая »
ФлеймФорумПрограммирование