• Ошибка munmap_chunk(): invalid pointer Process finished with exit code -6. Что делать?

    int *firstarray = new int(size);
    Так вы создайте указатель не на массив, а на int со значением size. Скорее всего вы хотели сделать так:
    int *firstarray = new int[size];
    Ответ написан
    Комментировать
  • Существуют ли алгоритмы сжатия случайных данных с конечным алфавитом?

    Adamos
    @Adamos
    Сжатие - это замена части информации логикой, позволяющей восстановить эту часть.
    В случайных данных логики нет, и любые алгоритмы сжатия без потерь с одинаковой вероятностью могут либо уменьшить объем данных, случайно найдя закономерность, либо увеличить, если таковой не нашлось.
    Ответ написан
    Комментировать
  • Существуют ли алгоритмы сжатия случайных данных с конечным алфавитом?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Случайные данные - это наихудший вариант для сжатия. Практически все алгоритмы сжатия данных без потерь основаны на поиске закономерностей и повторяющихся последовательностей. В случайной последовательности нет ни того, ни другого.
    Ответ написан
    12 комментариев
  • Магия int при делении на float?

    SagePtr
    @SagePtr
    Еда - это святое
    Цифры странные берутся, когда в ячейке памяти хранится один тип, а printf ожидает увидеть другой, потому неправильно представляет его. Округлять или ещё как-нибудь преобразовывать типы за вас printf не будет, что ему скажут, то он и выведет.
    Ответ написан
    Комментировать
  • Магия int при делении на float?

    wisgest
    @wisgest
    Не ИТ-специалист
    а затем в printf вывести через символ преобразования для целых чисел, то есть %d

    Это не символ преобразования, ничего не преобразуется: вы сами сообщаете (обманываете) printf о типе переданных данных.
    Преобразование выполняется как-то так
    printf("%d", (int)(b*a));
    Ответ написан
    2 комментария
  • Как получить одинаковые хеши на разных ОС?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Но из за разных кодировок не выходит

    Использовать одну и ту же кодировку
    Ответ написан
    7 комментариев
  • Почему в структуре array количество элементов пишется там же где и тип данных?

    Это называется Non Type Template Parameter (NTTP). Передавать туда можно только константы (если не пытаться взорвать себе мозг). Объявить такой шаблон можно следующим образом:

    template <size_t size>
    struct Array {
        MyClass data[size];
    };
    
    Array<5> a;
    a.data[2] = ...;

    Определение методов оставлю как упражнение для читателя.
    В std::array два параметра шаблона: тип и константа, так что он применим не только для MyClass, но и для любых других типов.
    Ответ написан
    Комментировать
  • Что за ошибка c++?

    Если заголовочный файл подключен, то либо написать using namespace std; либо пространство имен использовать явно std::ios, std::cout
    Ответ написан
    Комментировать
  • Можно ли через адаптер компьютерной мыши подключить блютуз наушники?

    15432
    @15432
    Системный программист ^_^
    Если клавиатура и мышь действительно подключены по интерфейсу Bluetooth (например, вы их легко можете запэйрить с любым Android телефоном без всяких адаптеров), и "адаптер из комплекта" виден в системе как USB-Bluetooth, то да, вы можете подключить к нему любое устройство, будь то наушники или другая Bluetooth-мышь.

    Но скорее всего у вас радиоинтерфейс 2.4 ГГц, не являющийся Bluetooth, и наушники к нему вы не подключите.
    Ответ написан
    1 комментарий
  • Поможет ли вынос работы с крэшащейся библиотекой в отдельный поток от крэша всего приложения?

    @menkar3
    Вкратце - скорее всего нет. Кроссплатформенно - еще более сомнительно.
    Как именно крашится либа? Я так понял, это не вылетевшее C++ исключение, а что-то вроде коррапта памяти (хотя в самой либе может быть гадость вроде if(fail){exit(-1);}, с чем уже работать проблематично). В теории, можно для каждой платформы это обработать. Если сходу - как это можно реализовать для винды:
    На самом деле выносим работу с либой в отдельный поток. Когда она сделает что-то плохое (к примеру, попытается читать освобожденную память) будет выброшено SEH исключение, для которого мы можем зарегистрировать обработчик (using a vectored exception handler в msdn). В хендлере можно было бы проверить, что исключение выброшено именно из треда этой либы и если это действительно так - просто грохнуть этот тред. Но даже если сработает это крайне плохой метод - либа захватывает какие-то ресурсы и нет никакой гарантии, что она корректно их освободит при падении треда (да и что приложение вообще останется в согласованном состоянии - кто знает, почему она падает - может, там вообще половина памяти перед этим мусором перезаписывается). Короче, решение с потоком - это потенциально нестабильная работа всего приложения.
    Для изоляции памяти и использования ресурсов как раз и существуют процессы, как бы не хотелось от них уйти :)
    Так что решение с отдельным процессом, который будет изолировать все болячки либы и не давать им распространиться на все приложение таки самое безопасное.
    Ответ написан
    1 комментарий
  • Какие есть алгоритмы сжатия числа?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Можно хранить в битовом массиве, тогда потребуется ровно 10 бит для каждого числа. Каждые 4 числа занимают 5 байт.

    Будет небольшое замедление при записи и считывании чисел из такого массива (Надо найти смещение, прочитать 2 каких-то байта, отбросить лишние биты)

    Возможно последний байт в массиве не до конца использован (+6 лишних бит), когда как в текущем решении у вас лишние 6 бит на каждое число.
    Ответ написан
    2 комментария
  • Как сделать чтобы 2 сетевые карты видели друг друга?

    fzfx
    @fzfx
    18,5 дм
    Ничего не поделать, именно так работает NAT.
    Ответ написан
    2 комментария
  • Как сделать мгновенное обновление страницы до ответа от сервера?

    @camelCaseVlad
    В UI Development существует концепт оптимистичного UI (optimistic UI).

    Самый простой пример данного концепта - нажатие на кнопку "Мне нравится" со счетчиком поставленных лайков. На клиенте можно сделать +1 сразу же, и не заставлять юзера ждать, пока с сервера придет новое значение лайков на данной кнопке.

    Решение вашей проблемы зависит от выбранных вами инструментов при создании приложения, но вы можете сделать нечто похожее на это:

    Вот как выглядит ТУДУ с ожиданием сервера:

    1*9r4u7IxFQkl8cNcOI4IYUw.gif

    Вот как выглядит с оптимистичным юай:

    1*aOhoD9FUKiEBUQM39zvvUg.gif

    Тут видно, что новый, не записанный на сервере Item отображается в стиле "Loading..."

    Используйте данный подход, дайте загружаемой Item временный ID
    Ответ написан
    Комментировать
  • К чему применять интерфейс?

    @Cheypnow
    Интерфейс описывает контракт.
    Абстрактный класс описывает базовое поведение, общее для нескольких потомков.
    В чем проблема?
    Ответ написан
    Комментировать
  • Как поднять VPN до точки?

    Jump
    @Jump
    Системный администратор со стажем.
    Как сделать удалённую сеть локальной?
    Судя по всему она и так локальная а не глобальная. Так что ничего не нужно делать.

    Нужно например из дома или офиса создать такое подключение, чтобы я был в локальной сети того роутера и контролировал её через ту самую заветную программу
    Поднять VPN.
    Арендуете сервер с белым адресом, поднимаете на нем VPN настраиваете подключение к нему обоих сетей и все.
    Можете у себя поставить VPN сервер, если есть белый адрес, а не арендовать.
    Ответ написан
    Комментировать
  • Как поднять VPN до точки?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Гуглить что такое VPN, и как его поднять на вашем роутере
    Ответ написан
    4 комментария
  • Как сделать авторизацию в программе на C++ с базой данных?

    NeiroNx
    @NeiroNx
    Программист
    "Правильная" авторизация возможна только на сервере баз данных, когда пользователь авторизуется на сервере и по итогам сервер предоставляет ему права доступа к данным и операциям над ними.
    Ставите сервер баз данных - например PostgreSql
    Установка создает пользователя с максимальными правами и просит указать его пароль.
    В приложении используете соответствующую библиотеку для доступа к бд - до подключения спрашиваете логин, пароль, после подключаетесь с введенными данными.

    Все зависит от требований безопасности и критичности утечки данных из базы.

    Если делается защита от дурака для локальной базы(например SQLite) - то можно и в самой базе хранить пользователей и хэши паролей. Но при этом пользователь имеет доступ к самой базе в виде файла - может его копировать и модифицировать.
    Ответ написан
    Комментировать
  • В каком разделе математики изучается вывод формул?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Алгебра.
    Начать со школьного учебника.
    Ответ написан
    Комментировать
  • Какой уровень ноутбуков относительно пк?

    @evgeniy_lm
    Чисто технически CPU ноута и десктопа ни чем не отличаются, но тепловой пакет ноутбучного процессора должен быть существенно ниже. Как правило это достигается снижением тактовой частоты и уменьшением кеша. Таким образом ноутбучный CPU медленнее десктопного на 30-35% (иногда больше) при одинаковой стоимости.
    Так же нужно понимать, что критерии миниатюризации других компонент ноута куда выше аналогичных десктопа. В результате имеем в случае одинаковой производительности ноут будет в 1,5-2 раза дороже десктопа.

    Ноут 11 года это не более чем технологический мусор и обсуждать его возможности глупо

    PS нужно понимать, что ноутбук это не великое счастье, а суровая необходимость. Если вам нет нужды перемещаться вместе с компом, значит ноут вам совершенно ненужен.

    PPS Некоторые производители выпускают так называемые "игровые ноутбуки". На самом деле это стационарный комп стилизованный под ноут. Вещь весьма неудобная, дорогая и бессмысленная, но как говорится "спрос рождает предложение"
    Ответ написан
    1 комментарий
  • Как реализуется чтение файловой системы?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Мне нужна книга или статья, в которой подробно разбираются файловые системы.

    Целью является создание небольшого менеджера файлов.


    Для файлового менеджера подробный разбор файловых систем не нужен, достаточно знать функции ОС для работы с файловой системой.

    Детали файловой системы нужны, если вы хотите писать свой драйвер, свою системную утилиту для работы с диском напрямую (восстановление файлов, проверка/дефрагментация/etc)

    Материалов - полно, просто гуглите. И учите английский либо юзайте переводчик. Для технических статей, его обычно достаточно, например
    https://translate.google.com/translate?sl=en&tl=ru...
    Ответ написан
    Комментировать