Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2011, 21:07   #1
mansp
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 52
По умолчанию Стражи включения

не очень понимаю как их правильно использовать ... делаю так:
в хеадере Векктор
Код:
#ifndef Vector_H
#define Vector_H
      тут обявлени функций
#endif

а в файле где я описываю реализацию функций подключаю Vector_H
в этом файлле надо будет тоже использовать стражи включений?

в файле где main () надо буде подключать Vector.H и Vector.cpp как я понимаю?

и ещё может кто знает что такое инвертирование элементов вектора? а то я чёт даже не смог у себя в книге вишке найти такое=((
mansp вне форума Ответить с цитированием
Старый 11.02.2011, 21:29   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
в этом файлле надо будет тоже использовать стражи включений?
Нет, т.к. цпп-файлы обычно не подключаются.

Цитата:
в файле где main () надо буде подключать Vector.H
Точка.

Цитата:
и ещё может кто знает что такое инвертирование элементов вектора?
Смотря чего вектор. Если булевых, то правду на ложь и обратно, если числа то умножение на -1...
p51x вне форума Ответить с цитированием
Старый 11.02.2011, 21:32   #3
mansp
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 52
По умолчанию

спасибо)) пойду мучать совой VS
mansp вне форума Ответить с цитированием
Старый 12.02.2011, 10:17   #4
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Лучше указания препроцессору называть большими буквами, например VECTOR_H.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 12.02.2011, 15:07   #5
alex_x_x
Форумчанин
 
Регистрация: 31.01.2011
Сообщений: 160
По умолчанию

можно просто указывать #pragma once, щас даже g++ это понимает
alex_x_x вне форума Ответить с цитированием
Старый 12.02.2011, 18:14   #6
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Почему «даже»-то . Какие-то компиляторы понимают, какие-то нет, а так как кодить лучше по стандартам, то лучше использовать старые добрые guards. Те компиляторы, которые умеют pragma once, и так соптимизируют.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 12.02.2011, 20:41   #7
alex_x_x
Форумчанин
 
Регистрация: 31.01.2011
Сообщений: 160
По умолчанию

неподдержка родных стражей больше идиотизм языка
прагма во-первых поможет избежать коллизий, если где-нибудь встретятся одинаковые ключи в заголовках, во-вторых логична более чем
alex_x_x вне форума Ответить с цитированием
Старый 12.02.2011, 20:43   #8
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Эта прагма не поддерживается некоторыми компиляторами, на то она и pragma.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 12.02.2011, 21:47   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а кто мешает сделать
Код:
#pragma once
#ifndef PHOENIX_LIBRARY_STORAGE
#define PHOENIX_LIBRARY_STORAGE
//код
#endif
?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.02.2011, 21:54   #10
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

А зачем? Те компиляторы, которые умеют pragma once, автоматически идентифицируют и оптимизируют include guards.
Хотя если очень хочется, можно и так написать (хотя толку от этого будет 0, как правило). Но писать только pragma once — моветон.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su

Последний раз редактировалось Obey-Kun; 12.02.2011 в 21:58.
Obey-Kun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Включение БП без включения компьютера Simply-Art Компьютерное железо 6 06.01.2011 13:48
Время включения компьютеров J-Max Компьютерное железо 8 27.12.2010 22:19
Программа для включения и выключения Apache cenitelas Софт 2 22.11.2010 12:39
Установить время включения ком-па Иллидан Общие вопросы Delphi 8 19.02.2008 08:32