define



Php define

Автор Sooqua задал вопрос в разделе Другие языки и технологии

[C++] #define и получил лучший ответ

Ответ от Николай Веселуха[гуру]
#define - директива препроцессора, используемая для определения символьных констант, содержит идентификатор и символьную строку. Компилятор, встретив в исходном коде программы идентификатор, тупо, подставляет вместо него символьную строку, которая соответствует этому идентификатору.
enum - перечисление - множество поименованных констант, типа int. Каждая из констант может быть инициализирована обычным образом, если инициализация отсутствует, то первая константа имеет значение равное 0, каждая последующая увеличивает своё значение на единицу.
В обоих случаях ни о каком прямом и косвенном доступе не может быть и речи.
Что же касается инициализированных полей класса, то мало сделать их статическими, также требуется сделать их и константными.
....
class test {
public:
static const short MoveType_None = 0;
static const short MoveType_Left = 1;
};
int main() {
test::MoveType_Left;// теперь можно обратиться
return 0;
}
То же, но со структурой.. .
struct test {
static const short MoveType_None = 0;
static const short MoveType_Left = 1;
};
int main() {
test::MoveType_Left;
return 0;
}

Ответ от (((d(O_O)b))[гуру]
enum религия использовать запрещает?

Ответ от Grouptv11[мастер]
Создай класс, и вызывай значения статистических элементов класса без создания экземпляра..

Ответ от Superior Oracle[гуру]
Согласен с предыдущим, но статические константы должны описываться за пределами описания класса.
Т. е. ,
struct test { // описание класса в заголовочном файле (*.H)
static const short MoveType_Nоne;
static const short MoveType_Left;
};
const short test::MoveType_Nоne = 0; // эта строка должна быть в другом файле (*.CPP), причём только в одном
Логичнее использовать enum
и namespace
namespace MoveType
{
enum { None = 0, Left = 1 };
}
или структуру/класс
struct MoveType
{
enum { None = 0, Left = 1 };
};
Обращаться через ::, а не через.
например, MoveType::Left

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: [C++] #define

PHP mySQL проверка на заполнение if( $_POST==true)
я обычно проверяю
if(!isset($_POST['кнопка'])
можно еще стопицот вариантов придуматьподробнее...

Чем опасен прямой доступ к файлу PHP если в нем всего лишь html форма? Нужно делать запрет или нет?
что вы имеете ввиду под прямым доступом? права на запись - да
на чтение, но сервер обрабатывает
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:

Авторизация с проверкой пароля на php
не особо в пхп, но:
зачем define и им определяются левые неиспользуемые константы?
и почему
подробнее...

почему в файле index.php в joomla 3 нет исходного кода.
php-скрипт тебе этот контент и генерирует.

Дмитрий Канидьев
(69178)подробнее...
спросили в Avantasia
Расскажите поподробнее о defining, non-defining relative clauses. Заранее спасибо
Appendix 6. Defining and non-defining relative clauses.

Определительные придаточные
подробнее...

Notice Undefined variable: как исправить?
Вам еще нужно выяснить почему не устанавливаются эти переменные, но условия можно преобразовать
подробнее...

kapish как переводится ?
понимаешь!
(слово итальянского происхождения. как правильно по-итальянски пишется, незнаю.:
подробнее...

Не могу зайти в админку opencart
посмотри файл
admin/config.php

p.s.
у opencart почему то два файла configподробнее...
спросили в Amiga
В одном аниме я встретила слова: вайна и аники. Что они значат?
Ну, Аники - это старший брат (или обращение к старшему члену банды якудза) , а вот вайна -
подробнее...
спросили в Другое Вэй
что такое свега ?
СВЕГА (ЭС*ВЭ*ГА) - русское (искаженное) произношение англ. аббревиатуры "SVG",
что в свою
подробнее...
Препроцессор Си на Википедии
Посмотрите статью на википедии про Препроцессор Си
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*