У меня есть интерфейс Interface
.У меня также есть .h файл InterfaceFwd.h
, который выглядит примерно так:
#ifndef Blah
#define Blah
#include <boost/shared_ptr.hpp>
class Interface;
typedef boost::shared_ptr<Interface> InterfacePtr;
#endif
У меня также есть Interface.h
#ifndef SomeOtherBlah
#define SomeOtherBlah
class Interface
{
virtual ~Interface()
{
}
...
};
typedef boost::shared_ptr<Interface> InterfacePtr;
#endif
Нужно ли беспокоиться, если оба файла включены туда?будет дубликат объявления InterfacePtr?На моем компиляторе это хорошо компилируется, но допускает ли стандартное правило одноопределения несколько идентичных объявлений typedef?Кроме того, как вы думаете, я должен включить InterfaceFwd.h
в Interface.h
вместо повторного выделения InterfacePtr
или это нормально, как есть?
Заранее спасибо