Size: a a a

2020 June 05

М

Михаил in pro.cxx
Подскажите, как сделать передвижение указателя в косоли? Нужно сделать выбор пункта меню строелочками
источник

OS

Oleksandr Senkovych in pro.cxx
А не, мой пример не демонстрирует то что я хотел. AVX инструкции сгенерированные gcc работают с unaligned integers
источник

v

vehlwn in pro.cxx
Михаил
Подскажите, как сделать передвижение указателя в косоли? Нужно сделать выбор пункта меню строелочками
ncurses. Ты уверен что для лабы надо тащить сонсольную псевдо графику?
источник

v

vehlwn in pro.cxx
А нет. Не надо тащить. Нкурсес есть в конан центре.
источник

ДЛ

Дмитрий ⬡ Лапшин... in pro.cxx
Коллеги, а в С++17 шаблонные переменные автоматически inline или нет? Понятно, что constexpr со статической линковкой даёт inline, а если нет и что предполагается?
источник

АК

Александр Караев... in pro.cxx
Дмитрий ⬡ Лапшин
Коллеги, а в С++17 шаблонные переменные автоматически inline или нет? Понятно, что constexpr со статической линковкой даёт inline, а если нет и что предполагается?
начиная с C++17 constexpr на переменных подразумевает inline, да
источник

К

Константин in pro.cxx
Александр Караев
начиная с C++17 constexpr на переменных подразумевает inline, да
Вопрос вроде был про случай без constexpr 😅
источник

АК

Александр Караев... in pro.cxx
Константин
Вопрос вроде был про случай без constexpr 😅
я слепой, извиняюсь =)
источник

DC

Denis Chernikov in pro.cxx
Дмитрий ⬡ Лапшин
Коллеги, а в С++17 шаблонные переменные автоматически inline или нет? Понятно, что constexpr со статической линковкой даёт inline, а если нет и что предполагается?
Я, помнится, однажды на скорую руку ответ нашёл, что inline не гарантируется
источник

ДЛ

Дмитрий ⬡ Лапшин... in pro.cxx
Хм. Задумка ясна.
источник

АК

Александр Караев... in pro.cxx
Denis Chernikov
Я, помнится, однажды на скорую руку ответ нашёл, что inline не гарантируется
а я наоборот помню, что Andrey советовал использовать в до-C++17 времена в качестве inline переменных - шаблонные
источник

m

magras in pro.cxx
Oleksandr Senkovych
т.е. если хочется запилить свой вектор то нужно чтоб место было не просто char buffer[size]
На сколько я помню, массив char всегда будет иметь максимальное выравнивание.
источник

DC

Denis Chernikov in pro.cxx
Александр Караев
а я наоборот помню, что Andrey советовал использовать в до-C++17 времена в качестве inline переменных - шаблонные
Я в этом вопоосе, к сожалению, не ушёл далее обсуждения этого вопроса на stackoverflow 😅
источник

OS

Oleksandr Senkovych in pro.cxx
magras
На сколько я помню, массив char всегда будет иметь максимальное выравнивание.
А я насколько помню, то массив имеет выравнивание своего элемента. Выравнивание char = 1, значит массива char тоже 1
источник

m

magras in pro.cxx
Oleksandr Senkovych
А я насколько помню, то массив имеет выравнивание своего элемента. Выравнивание char = 1, значит массива char тоже 1
Да, это так для обычных типов. Но для тройки char, unsigned char, std::byte было специальное исключение:

> In addition, if the new-expression is used to allocate an array of char, unsigned char, or std::byte, it may request additional memory from the allocation function if necessary to guarantee correct alignment of objects of all types no larger than the requested array size, if one is later placed into the allocated array.
источник

AY

Alexey Yunushkin in pro.cxx
Oleksandr Senkovych
А я насколько помню, то массив имеет выравнивание своего элемента. Выравнивание char = 1, значит массива char тоже 1
char is also 16 bit on the Texas Instruments C54x DSPs! Ну не так)))
источник

OS

Oleksandr Senkovych in pro.cxx
Alexey Yunushkin
char is also 16 bit on the Texas Instruments C54x DSPs! Ну не так)))
поэтому я и не иду в ембед :)
источник

OS

Oleksandr Senkovych in pro.cxx
magras
Да, это так для обычных типов. Но для тройки char, unsigned char, std::byte было специальное исключение:

> In addition, if the new-expression is used to allocate an array of char, unsigned char, or std::byte, it may request additional memory from the allocation function if necessary to guarantee correct alignment of objects of all types no larger than the requested array size, if one is later placed into the allocated array.
хм, не знал, но в принципе можно было бы догадаться, ведь когда делаешь например malloc то ты не указываешь выравнивание
источник

OS

Oleksandr Senkovych in pro.cxx
но бывают случаи когда хочется места не на куче. либо если например пишешь свой variant
источник

m

magras in pro.cxx
Oleksandr Senkovych
но бывают случаи когда хочется места не на куче. либо если например пишешь свой variant
Я не уверен на 100%, но думаю, что массив char'ов на стэке или в членах класса точно так же будет выровнен. Проверять мне сейчас лень.
источник