kirisummer ✙ 🐀 ретвитнул
kirisummer ✙ 🐀
4.3K posts

kirisummer ✙ 🐀
@kirisummer
аватарка: Ніко Ваншот (НЕ КІШКА)
Kharkiv, Ukraine Присоединился Ocak 2016
508 Подписки44 Подписчики
kirisummer ✙ 🐀 ретвитнул

@VILKOV_ @LukLucik Ok you're right, both look like international or regional at least
But consider that OP (nochu) didn't say anything aggressive. And this russian dumbass played victim, saying that everyone wants russians to die. I'm all for it for obvious reasons, but that was uncalled for
English

@kirisummer @LukLucik Mandarin is the most spoken language in the world so thats probably why, but its also language of taiwan, singapore and im pretty sure alot of east and southeast asian schools teach it kinda like german in poland

English

"Russian language is international"
SINCE WHEN???
Your imperialistic ass doesn't even know what international language even mean, tf
GIF
Feruma 🌸@Feruma51
Если вы желаете смерти русским, то не удивляйтесь, что вам не будут как-то нежно отвечать. Кстати, поляки, в отличие от польского, русский язык является международным.
English

@kirisummer @LukLucik So? Its still one of the international languages. Its language of trade in central asia, similarily to swahili in africa.
Also, UN was killed by US not russia
English

This proves that Russia is conducting a safe war for Ukrainian civilians.
Can you imagine what Israel would do to Kharkiv?
Maria Avdeeva@maria_avdv
This is Kharkiv. 15 km from the frontline. Still one of the most alive cities I know.
English

@CaptainGPU @FesterAddams21 Це все відмовки, шоб потім шукати витоки :)
Не написав поки що на C++ жодної гри, але думаю, що можна було б спробувати використати щось типу пулів з PMR, щоб не віддавати ОС пам'ять, яка потрібна кожен цикл
Українська

Так, я трошки змішав усе в одному пості, RAII як концепція не дуже підходить геймдеву, особливо коли на ігровому циклі створюються/оновлюются/деаллокуються мільйони ресурсів, і все що повʼязано з архітектурою графічних апі. І RTII якій є інструментом валідації, і без якого доволі складно відстежити деякі ліки.
Українська

@CaptainGPU @FesterAddams21 На C та C++ теж можна писати код без витоків, якщо постаратись
В C++ є розумні вказівники та контейнери з RAII, в C деякі компілятори дозволяють робити вивільнення ресурсів через defer
Українська

@kirisummer @FesterAddams21 Ну раст тільки намагається в геймдев, а джава щось якось і не змогла.
Українська

@FesterAddams21 @CaptainGPU Треба просто писати так, шоб не витікало
Українська

Боротьба з memory leak це вічна боротьба.
Причому, керівництво не приділяє цим витоком уваги: «хай тече, потім вирішимо питання», «нам потрібен реліз, після релізу будемо шукати час», «це може затягнутись» і подібне. Напевно всі чули подібне. А також після релізу: «ой, ай, тут клієнт скаржиться на виток!»
Українська

@Exinaus @panda_theslayer @hergravce Будь шо можна ставить. В steam ігри нормально запускаються, крім ігор з кернел античітами. Якщо ігри не в steam, можна запускать через lutris
Українська

@panda_theslayer @hergravce Який порадите, щоб без проблем запустив Europa Universalis 5? Або Cities Skylines. Щоб на вихідних можна було пару (десятків) годин позаліпати.
Українська
kirisummer ✙ 🐀 ретвитнул

@amster911894872 @Zn_Portnova По каким именно критериям это фейк и ИИ?
Русский

@kmyrizyM76ZVRKa @Hugo_StiglitzUA Не надо бьіло РЕБом или ПВО мешать. Прилетела бьі на военньій объект
Українська

@Hugo_StiglitzUA В Брянске, к сожалению, не только по заводу прилетело. Вот момент удара Storm Shadow по улице.
Русский

@FesterAddams21 @CaptainGPU Якщо подивитись sizeof(&my_element), теж буде 8, бо у вказівник на 64-бітних платформах - це 8 байт.
Deleter тут - default_delete, у випадку одного об'єкта йому нічого зберігати не треба (але треба буде, якщо буде нестандартний алокатор або масив), тому він порожній
Українська

Він там, якщо не помиляюсь, з'являється, якщо шаблон дізнається що це необхідність життєвого циклу об'єкту
using pointer = typename _Get_deleter_pointer_type<_Ty, remove_reference_t<_Dx>>::type;
using element_type = _Ty;
using deleter_type = _Dx;
remove_reference_t -- от через це, якщо є деструктор
struct _my_element {
int a;
~_my_element() {
a = 0;
}
} my_element;
std::unique_ptr<_my_element> my_data;
size_t elemSize = sizeof(_my_element);
size_t obSize = sizeof(my_data);
на x64
elemSize == 4;
obSize == 8;

@FesterAddams21 @CaptainGPU unique_ptr не має лічильника, це про shared_ptr. А deleter дефолтний нічого не займає завдяки empty base optimization.
Плюс, в прикладі були не числа, а вказівники, які додаються у вектор. Ясне діло, що воно працювать не буде, формат даних інший
Українська

От ви зараз дістаєте козиря 😁 Допоможе, звісно, але нащо надбудови над надбудовами? unique_ptr це вже reference based модель, де потрібно тримати лічильник та деструктор. Я ж про базову реалізацію, а вона фуфлижна.
std::vector verts;
vertex a;
a.x = 123;
a.y = 123;
a.z = 123;
verts.push_back(a);
glBufferData(GL_ARRAY_BUFFER, verts.size() * sizeof(vertex), verts.data(), GL_STATIC_DRAW);
Додайте сюди unique_ptr і все, ваш verts.data() поверне маячню.
Українська

@FesterAddams21 @CaptainGPU Конкретно тут допоможе unique_ptr, RAII вцілому класна штука
Ще компілятори, зазвичай, дозволяють вимкнути виключення та RTTI вцілому
Українська

Коротше, основна моя претензія до C++ - немає контролю за виключеннями, які є стандартом мови. Виключення — hardware-specific, зазвичай пов'язані зі збереженням контексту виконання та long_jump на якесь місце коду (обробник), буває, що виключення - це саме хардварна фішка, тобто фізичне переривання процесора. Таким чином, це робить обмеження на використання бібліотек, які спираються на виключення.
Якщо б декларація того ж push_back / push_front була така
bool vector::push_back(T &element);
Я би був спокійним, так як я мав би змогу переконатися, що операція відбулася (!)
myElement = new Element();
....
if (!elementVector.push_back(myElement)) {
delete myElement;
}
Натомість, мій код має робити більш складну обгортку:
try
{
elementVector.push_back(myElement);
} catch (std::bad_alloc_t &exc)
І я не один такий.

Українська

@FesterAddams21 @CaptainGPU Ні, це тег для вибору варіанту оператора. Якщо викликати new з тегом, поверне або вказівник на виділене, аьо nullptr при помилці. Буде працювати як malloc, по суті
Українська

@kirisummer @CaptainGPU Так, вище писав std::nothrow_t, щось на кшталт - якщо було виключення, то записати інформацію та вийти, а потім по тегу можна розібрати де саме було кинуто. Аналог BOOST_SCOPE_EXIT я так розумію
Українська

@FesterAddams21 @CaptainGPU У багатьох мов є стандартна бібліотека, і нею можна не користуватись. Згоден, що в STL купа проблем, наприклад, ексепшени всюди кидаються. Але ж у C++17-23 пододавали класних штук, типу optional та expected, тому все не так погано.
Українська

@kirisummer @CaptainGPU Мені взагалі не подобається, що STL зробили стандартом мови. Це бібліотека, набір бібліотек! Я можу ними користуватись, можу ні. Так як вони написані криво як для Embedded так і для Kernel mode, їх краще оминати якщо потрібен crash-стійкий код.
Українська


















