
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
20.04.2006, 14:41
|
|||
|---|---|---|---|
|
|||
#pragma once или #define? |
|||
|
#18+
Привет всем, такой вот вопрос у меня по С++: Например, есть 2 класса: classOne.h и classTwo.h // classOne.h #include "classTwo.h" classOne { }; // main.cpp #include "classOne.h" #include "classTwo.h" int main() { return 0; } В этом случае classTwo заинклюдится 2 раза, что не очень хорошо. Для этого обычно используют либо #define либо #pragma once. Так вот если код выглядит так: // classTwo.h #pragma once class classTwo { }; Компайлер удостоверится, что данный класс присоединен только один раз, так? Или я чего-то не догоняю? И если я использую прагму, стоит ли делать что-то в этом роде: // classTwo.h #ifndef CLASSTWO_H #define CLASSTWO_H class classTwo { }; #endif ? Или это одно и то же? Прошу прощения, если сумбурно описал... Буду благодарен за ответ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.04.2006, 14:52
|
|||
|---|---|---|---|
|
|||
#pragma once или #define? |
|||
|
#18+
Не совсем, во первых #define будет гарантированно работать на любом компиляторе. Во вторых, недавно был забавный случай когда одинаковые h-файлы лежали в двух разных каталогах и в проекте ошибочно зацепились оба варианта. При использовании #pragma once все естественно развалилось, так как с ее точки зрения файлы разные, при использовании #ifdef все бы номано (в том смысле что скомпилялось бы). Думайте сами ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.04.2006, 15:19
|
|||
|---|---|---|---|
|
|||
#pragma once или #define? |
|||
|
#18+
Спасибо за ответ! Так понял, безопаснее использовать #define Учту! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.04.2006, 15:34
|
|||
|---|---|---|---|
|
|||
#pragma once или #define? |
|||
|
#18+
Gluk (Kazan)Во вторых, недавно был забавный случай когда одинаковые h-файлы лежали в двух разных каталогах и в проекте ошибочно зацепились оба варианта. При использовании #pragma once все естественно развалилось, так как с ее точки зрения файлы разные, при использовании #ifdef все бы номано (в том смысле что скомпилялось бы). Думайте сами ... имхо, в данном случае лучше, что бы развалилось, т.к. файлы могли "немного" различаться значением чего-либо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2031479]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
224ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 531ms |

| 0 / 0 |
