Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

Lost_brain

  • 0
    вклад
  • 8
    вопросов
  • 1
    ответ
  • 0%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Как проверить открыть ли файл какой-либо программой, используя winapi?

    Александр Ананьев @SaNNy32
    Посмотрите это решение, возможно вам подойдет
    Ответ написан 02 окт. 2022
    4 комментария
    4 комментария
  • Как работает long long int в C++?

    jcmvbkbc
    jcmvbkbc @jcmvbkbc
    "I'm here to consult you" © Dogbert
    где найти информацию о внутреннем устройстве long long int и unsigned long long int?

    В стандарте: eelis.net/c++draft/basic.fundamental

    у меня появилось впечатление, что long long int склеен из двух long int и дает псевдо длину в 64 бита. Поправьте меня, если я не прав

    Можно и так на это смотреть, но почему "псевдо"? Вполне реальные 64 бита, на машинах с 64-битными регистрами это вообще "родной" тип данных.
    Ответ написан 29 сент. 2022
    3 комментария
    3 комментария
  • Как работает long long int в C++?

    wataru
    Wataru @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Это просто 64 битный (обычно) тип. Сейчас процессоры умеют работать с такими числами напрямую, без "склеивания" двух 32 битных чисел.
    Ответ написан 29 сент. 2022
    4 комментария
    4 комментария
  • Будет ли утечка памяти при использовании такой конструкции С++?

    zagayevskiy
    Денис Загаевский @zagayevskiy
    Android developer at Yandex
    Да, будет утечка, утечет сам объект MySmartPointer, тк его никто не удалит. При выходе из функции уничтожится лишь сам указатель, но не то, куда он указывает.

    Не знаю, будет рекурсия или просто креш, надо читать стандарт. Делать так не надо, в этом нет смысла.
    Ответ написан более двух лет назад
    2 комментария
    2 комментария
  • Будет ли утечка памяти при использовании такой конструкции С++?

    rPman @rPman
    нет
    кардинально неверное использование деструктора

    Деструктор вызывается когда вы уже вызвали удаление объекта delete msp, и призван удалить все что объект проинициализировал но не его самого.

    Отличный пример, использование класса для автоматического закрытия файла

    class FR
    {
      FILE *f;
      public:
      FR(char* name)
      {
        this->f=fopen(name,'r');
      }
      void do()
      {
        // тут работаем с файлом
        // если произойдет проблема, вызываем эксепшн
        throw "The problem";
      }
      ~FR()
      {
        fclose(this->f);
      }
    }
    
    void main()
    {
      try
      {
        FR fr('test.txt');
        fr.do();
        printf("all ok");
      } catch(const char* msg)
      {
        printf("Error: %s\n",msg);
      }
    }

    тут голова не болит когда закрывать файл, так как деструктор будет вызван автоматически при окончании жизни объекта
    Ответ написан более двух лет назад
    2 комментария
    2 комментария
Оценили как «Нравится»
Самые активные сегодня
  • GNUBack
    • 11 ответов
    • 0 вопросов
  • nedosekinstanislav
    Stanislav
    • 8 ответов
    • 0 вопросов
  • Drno
    • 8 ответов
    • 0 вопросов
  • alexey-m-ukolov
    Алексей Уколов
    • 8 ответов
    • 0 вопросов
  • Sanes
    Sanes
    • 6 ответов
    • 0 вопросов
  • Deita
    Deita
    • 4 ответа
    • 2 вопроса
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации