HLFX.Ru Forum Страницы (9): « 1 2 [3] 4 5 6 7 » ... Последняя »
Показать все 123 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- нубовопросы по c++ (https://hlfx.ru/forum/showthread.php?threadid=5083)


Отправлено thambs 16-05-2018 в 09:17:

Ага, а в 17м стандарте можно наконец-то сделать по человечески:

code:
typedef typename conditional <(dim>1), carray_base<t, dim-1, true>, t&>::type out; template <typename num> //c++17 inline out operator [] (const num& i){ if constexpr (dim>1){ return out(data + (size_t)i*offset[0], shape+1, offset+1); } else { return data[(size_t)i]; } }

Почему хорошие годные языковые конструкции добавляют так поздно?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено Дядя Миша 16-05-2018 в 11:13:

Цитата:
XaeroX писал:
Для меня на работе протащить шаблон в master - это всегда праздник.



Добавлено 16-05-2018 в 14:13:

Цитата:
thambs писал:
Почему хорошие годные языковые конструкции добавляют так поздно?

Я не знаю, что по этому поводу думает Ксер, но у меня сложилось мнение, что парадигма С++ идеально ложится только на две вещи - всевозможные окошки-менюшки и как ни странно энтити из халфы-кваки, да и вообще игровые объекты. Потому что там все эти принципы наследования очень кстати. А в повседневности С++ годится только для АТД.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 16-05-2018 в 15:01:

Цитата:
thambs писал:
Почему хорошие годные языковые конструкции добавляют так поздно?

Потому же, почему так поздно вернули Крым.

__________________

xaerox on Vivino


Отправлено thambs 05-06-2018 в 16:06:

Извиняюсь ещё раз за поднятие темы, но есть ли разница между приведением типов

code:
(int)(x)
и (вызовом конструктора?)
code:
int(x)
?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено a1batross 05-06-2018 в 16:37:

thambs никакой.


Отправлено Government-Man 05-06-2018 в 16:43:

Цитата:
thambs писал:
есть ли разница


Формально - это совершенно разные вещи. И вроде даже есть случаи, когда это имеет значение.


Отправлено XaeroX 05-06-2018 в 17:22:

Цитата:
a1batross писал:
thambs никакой.

+1

Цитата:
The functional cast expression consists of a simple type specifier or a typedef specifier (in other words, a single-word type name: unsigned int(expression) or int*(expression) are not valid), followed by a single expression in parentheses. This cast expression is exactly equivalent to the corresponding C-style cast expression.

http://en.cppreference.com/w/cpp/language/explicit_cast

P.S.: не надо так писать. Используй static_cast.

__________________

xaerox on Vivino


Отправлено Дядя Миша 05-06-2018 в 18:47:

Цитата:
Government-Man писал:
И вроде даже есть случаи, когда это имеет значение.

А что в новых крестах можно атомарные типы перегружать?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Дядя Миша 06-06-2018 в 10:23:

Вот и у меня созрел вопрос по С++. Атомарный тип half в язык добавят когда-нибудь уже наконец.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ComradeAndrew 06-06-2018 в 11:37:

Дядя Миша
Вряд ли. Минимальный размер выделяемой памяти - байт. А битовые поля и так есть https://en.cppreference.com/w/cpp/language/bit_field
А насчет "атомарности", мне кажется тут некая путаница возникла. Фундаментальные типы не являются атомарными - https://stackoverflow.com/questions...al-types-atomic


Отправлено Дядя Миша 06-06-2018 в 11:57:

ComradeAndrew ты точно понял мой вопрос?

Добавлено 06-06-2018 в 14:57:

half это вещественное с половинной точностью, два байта занимает.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ComradeAndrew 06-06-2018 в 12:04:

Цитата:
Дядя Миша писал:
half это вещественное с половинной точностью, два байта занимает.

Ах, вот оно что. Да, не про то подумал, извиняюсь.
К сожалению на счет этого ничего не могу сказать.


Отправлено thambs 06-02-2019 в 16:10:

В 17м стандарте появилась спецконструкция constexpr if, значит ли это, что в обычном случае компилятор не оптимизирует оператор if от constexpr выражений?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено XaeroX 06-02-2019 в 16:16:

thambs
Компилятор всё оптимизирует. constexpr if, в отличие от обычного if, может выполняться компилятором.

__________________

xaerox on Vivino


Отправлено thambs 06-02-2019 в 16:46:

XaeroX
Я правильно понимаю, что оптимизация if производится в случае если на входе constexpr переменная, а constexpr if может работать чистой функцией от constexpr переменных?

__________________
http://www.moddb.com/mods/monorail-quest


Временная зона GMT. Текущее время 06:06. Страницы (9): « 1 2 [3] 4 5 6 7 » ... Последняя »
Показать все 123 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024