Ответы пользователя по тегу Препроцессоры
  • Правильно ли в C++ использовать директиву препроцессора define?

    @Acaunt
    define полезная штука и её не обязательно использовать так как ты (лично я не вижу смысла использовать её для этого).

    Например:
    Если у тебя много файлов ссылаются друг на друга то можно конечно использовать #pragma once, но эта штука работает не во всех компиляторах. Поэтому предпочтительнее использовать:
    #ifndef FILE_H
    #define FILE_H
    #include "file1.h"
    #include <iostream> например этот  заголовочный файл объявлен и в file1.h
    #endif // !FILE_H


    Ещё в заголовочном файле math.h есть константы (число пи например), но они скрыты если не объявлен #define _USE_MATH_DEFINES

    Подобную штуку я использовал в своем проекте вот пример:
    #if TYPE_64
    using type = uint64_t; 
    #elseif defined(TYPE_32)
    using type = uint32_t; 
    #elseif defined(TYPE_16)
    using type = uint16_t; 
    #else
    using type = uint8_t; 
    #endif


    Ещё можно подобные штуки расставить по всему коду для вывода информации о работе программы на проверку есть ли #define DEBUG, а когда программа готова то просто убрать этот define и программа будет чуть быстрее работать, так как участки кода с выводом информации не будут работать.
    Ответ написан
    1 комментарий