• Выгрузка DLL после UnhookWindowsHookEx

    Roman_Pekhov
    @Roman_Pekhov
    Ответ написан
    Комментировать
  • Влияние наличия конструктора на расположение элементов внутри класса?

    mejedi
    @mejedi
    Вам знакомо понятие «выравнивание»?

    В зависимости от модели, процессор либо вообще не умеет читать невыравненные данные (ex: попытка чтения четырех байтового слова по адресу, не кратному 4 приводит к аппаратному исключению) либо делает это очень медленно. Атомарные операции также работают только с выравненными данными.

    Таким образом, поле типа long должно быть выравнено на границу 8 байт. Так как объекты могут располагаться в массивах подряд друг за дружкой, размер объекта также должен быть кратен 8. В общем случае — необходима кратность максимальному выравниванию среди полей. В результате получается следующий расклад: 8 байт long, 4 байт int, 4 байт паддинга. Если выравнивание на 8 байт не нужно (отсутствует long поле), то необходимости «подгонять» размер объекта тоже нет, и паддинга не возникает.

    Теперь самое интересное — почему есть эффект от пустого конструктора?

    Снова обратимся к теории. В C++ есть понятие POD типа. Можно сказать, это такая декларация, для которой гарантируется совместимость с Си. Для структур в языке Си непосредственно в стандарте прописаны правила «раскладки» полей в памяти, паддинги и все такое. До тех пор, пока Point не имеет пользовательского конструктора, он является POD, и следовательно должен иметь в конце «неприкосновенный» padding.

    Напротив, для не-POD типов стандарт не фиксирует представление в памяти. Например классы вполне законно представлять хоть хеш-таблицей, именно поэтому в C++ запрещено использование offsetof для полей класса. Поэтому компилятор вполне вправе творчески переиспользовать padding в объете Point для полей Point3D. Замечу, на другом компиляторе вы могли получить другой результат, и это было бы все равно ок с точки зрения языка C++.

    Что любопытно, объявления с ключевым словом class все еще могут быть POD-типами. Классы и структуры перестают быть POD типами наприемр если есть наследование или пользовательские конструкторы или виртуальные функции.
    Ответ написан
    1 комментарий
  • Мой сайт заставляют переехать

    Sterhel
    @Sterhel
    Да че за тупняк.

    Если вам этого не достаточно то я могу подключить в дело адвоката чтобы он Вам обосновал а вы ему. А это уже очень дорогой вопрос.

    Стандартная такая разводка, рассчитанная на то, что народ априори боится судов и страшного слова «адвокат». Ну да, это иногда дорого. Дорого будет платить тот чувак, чтобы адвокат (если он есть) разъяснил вам проблемы (если они есть). Слушать-то и бесплатно можно.

    Тем более, «сниппет» — это же вообще термин.

    Как мне быть? Переезжать мне не хочется, а что ответить и как себя вести не знаю.

    а) не переезжайте
    б) кончайте кормить тролля.
    Ответ написан
    3 комментария
  • Мой сайт заставляют переехать

    @MaxUp
    простой совет — игнорьте. Никаких юридических прав у него нет. Если что — ваш сайт SNIPPETS.SU. Именно так и никак иначе. «SNIPPETS.SU» != «SNIPPETS».
    Ответ написан
    1 комментарий
  • Что такое вселенная?

    «Это то что формируется после большого взрыва?»
    — Да, вне нашей Вселенной находится что-то другое со своими законами.

    «Тогда как называется пространство вокруг вселенной?»
    — Никак не называется. О нём ничего не известно и никогда не будет известно.

    «Эфир? Но раз в этом пространстве что-то существует, например вселенная, тогда это не совсем эфир?»
    — Это средневековое представление. Там что-то другое со своими законами физики.

    «Какой формы вселенная?»
    — Шар.

    «Если расширение идёт во все стороны, тогда сферической?»
    — Да, сферической.

    «Есть мнение что расширение идёт только в одну сторону.»
    — Нет, это противоречит закону Юнга о распространении волн.

    «Тогда какой она формы?»
    — Шар.

    «С какого расстояния можно увидеть её целиком?»
    — Смотря какой у Вас угол зрения. А если честно Вы никогда не сможете покинуть нашу Вселенную.

    «Кроме расширения, наблюдаются ли другие перемещения?»
    — Сжатие материи внутри нашей Вселенной.

    «Сама вселенная инертна или в движении?»
    — Мы никогда это не узнаем. Смотрите Первый закон Ньютона.

    «Если в движении то по отношению к каким координатам оно движется и с какой скоростью?»
    — Неизвестно.

    Вселенная одна?
    Если имел место один взрыв, могли ведь иметь место и другие, в других «местах»?
    Что если при расширении / движении две или более вселенных столкнуться?
    Ответ написан
    4 комментария
  • Разработка на С++ в VIM?

    BlackRaven86
    @BlackRaven86
    Программист
    Рекомендую посмотреть KDevelop. Там очень хорошая подсветка синтаксиса и автодополнение для C/C++ и для Qt, плюс есть vi-режим.
    Ответ написан
    1 комментарий
  • Разработка на С++ в VIM?

    @gribozavr
    > При нажатии на точку задержка до нескольких секунд
    Вы используете libclang режим clang_complete? В этом случае используются reparse*() API, которые автоматически строят PCH в памяти и репарсят только ваш код, а не все подключенные заголовки.

    > в clang++ пока не все гладко с constexpr
    Вы используете clang из SVN?
    Ответ написан
    2 комментария