Если у меня попа съела трусы, а потом я их оттуда вытащил, то попа их
Anonymous Poll
56%
Выплюнула
17%
Высрала
27%
Вы в своём уме?
🥴3👍2
— Сегодня небо такое ясное, ночью даже звёзды может быть видно... А, точно, мы же в Питере
— Угу, тут из звёзд даже солнце редко видят
— Угу, тут из звёзд даже солнце редко видят
🔥4👍1🤩1🌚1👀1
Оказывается, hellblade 2 выходит! 🎉🎉🎉
Каким-то образом ничего про неё не слышал чуть не с анонса, а тут такое
Каким-то образом ничего про неё не слышал чуть не с анонса, а тут такое
Очень тяжело
Навспоминал игр, которые хочу опробовать, не могу решить, с какой начать, В таком состоянии уже с час. А это значит, что необходимо доверить свою жизнь незнакомцам в интернете
Навспоминал игр, которые хочу опробовать, не могу решить, с какой начать, В таком состоянии уже с час. А это значит, что необходимо доверить свою жизнь незнакомцам в интернете
С кайфом сходил поорать в караоке, обзор
+ ор в кайф
+ бахнул сакэ
+ нашёл какое-то вкусное рагу с курицей
- голос
+ ор в кайф
+ бахнул сакэ
+ нашёл какое-то вкусное рагу с курицей
- голос
💯5
Идея для любителей экстремального программирования: russian_roulette_ptr<T>
Источник вдохновения — русская рулетка в варианте с одним прокручиванием барабана на всех игроков
Аллоцировав объект, мы сразу удаляем его. Если использовать его сразу после удаления, то велик шанс, что выделенная под него память не переиспользуется, и всё сработает нормально. Но чем дольше им пользуемся, тем выше шанс выстрелить себе в ногу. Развлекайтесь!
template <class T, class... Args>
russian_roulette_ptr<T> make_russian_roulette(Args&&... args) {
auto ptr = new T(std::forward<Args>(args)...);
delete ptr;
return russian_roulette_ptr(ptr);
}
Источник вдохновения — русская рулетка в варианте с одним прокручиванием барабана на всех игроков
Аллоцировав объект, мы сразу удаляем его. Если использовать его сразу после удаления, то велик шанс, что выделенная под него память не переиспользуется, и всё сработает нормально. Но чем дольше им пользуемся, тем выше шанс выстрелить себе в ногу. Развлекайтесь!
🤣9🥰3❤1
Кресты на моей кукухе
Идея для любителей экстремального программирования: russian_roulette_ptr<T> template <class T, class... Args> russian_roulette_ptr<T> make_russian_roulette(Args&&... args) { auto ptr = new T(std::forward<Args>(args)...); delete ptr; return ru…
Подсказывают, что я набаговал в багоделательном коде, и надо delete заменить на free, чтоб деструктор не вызывать
👍2
Странный факт: в плюсах поля обычного базового класса в плюсах лежат перед полями наследника, но поля виртуального базового класса (
Только что открыл это для себя, попал в ступор
Upd. дальнейшие эксперименты говорят, что на деле всё сложнее. Буду выяснять, как так
struct Derived : virtual Base
) лежат правее полей наследникаТолько что открыл это для себя, попал в ступор
Upd. дальнейшие эксперименты говорят, что на деле всё сложнее. Буду выяснять, как так
70к рублей (учитывая накопленные яндекс бонусы, 60к) и можно иметь нума тачку на 72 потока дома...
Как долго я смогу сопротивляться соблазну....
Upd. О, нет, надо бы ещё и корпус какой-никакой
Как долго я смогу сопротивляться соблазну....
Upd. О, нет, надо бы ещё и корпус какой-никакой
🤩1
Так прикольно быть программистом
Стало интересно, сколько я провайдеру за виртуалку отдал. Провайдер может дать историю csv-шкой. И 4 строчки питона находят ответ примерно моментально (30-40к где-то)
Да, я слабый и пытаюсь оправдать свою трату на развлекательную железку
Стало интересно, сколько я провайдеру за виртуалку отдал. Провайдер может дать историю csv-шкой. И 4 строчки питона находят ответ примерно моментально (30-40к где-то)
🤗3👏1
Кресты на моей кукухе
Странный факт: в плюсах поля обычного базового класса в плюсах лежат перед полями наследника, но поля виртуального базового класса (struct Derived : virtual Base) лежат правее полей наследника Только что открыл это для себя, попал в ступор Upd. дальнейшие…
Всё-таки всё просто
Порядок расположения в памяти такой: нормальные родители (в порядке дфс-а), ребёнок, виртуальные родители
Если у класса или родителя есть виртуальные функции, перед ним будет
Занятно, что указатель кладётся не на сам
https://godbolt.org/z/ze36GqhT7
Порядок расположения в памяти такой: нормальные родители (в порядке дфс-а), ребёнок, виртуальные родители
Если у класса или родителя есть виртуальные функции, перед ним будет
vtbl
Занятно, что указатель кладётся не на сам
vtbl
, а куда-то правее. При этом то, что левее записанного указателя, тоже может читаться (в примере там, видимо, лежит смещение влево относительно виртуальной базы)https://godbolt.org/z/ze36GqhT7
godbolt.org
Compiler Explorer - C++ (x86-64 clang (trunk))
struct Base {
long x = 1;
};
struct D1 : virtual Base {
int kek() {
return x;
}
long d1 = 2;
};
struct D2 : virtual Base {
int lol() {
return x;
}
long d2 = 3;
};
struct DA : D1, D2 {
int lmao() {
…
long x = 1;
};
struct D1 : virtual Base {
int kek() {
return x;
}
long d1 = 2;
};
struct D2 : virtual Base {
int lol() {
return x;
}
long d2 = 3;
};
struct DA : D1, D2 {
int lmao() {
…
Кресты на моей кукухе
Photo
Вы думаете, я шутил?
https://github.com/ydb-platform/ydb/pull/4071/files#diff-cb03abe8e6942443dbdf398736c58902557f1367133f3991bdb99b98faa7f041R217
https://github.com/ydb-platform/ydb/pull/4071/files#diff-cb03abe8e6942443dbdf398736c58902557f1367133f3991bdb99b98faa7f041R217
GitHub
YQ-2824: implement basis for type inference for CSV and TSV by EgorkaZ · Pull Request #4071 · ydb-platform/ydb
Changelog entry
...
Changelog category
Not for changelog (changelog entry is not required)
Additional information
...
...
Changelog category
Not for changelog (changelog entry is not required)
Additional information
...
⚡1👍1