同一命名空间里面不允许出现同名的函数和变量。
同一命名空间可以分布在不同的函数之间。
问题:同一命名空间A,不同文件之间如何访问命名空间A里面的变量int a, class b?
/persist/chengde/workspace/vio_calib_ws/camodocal/include/camodocal/camera_models/CameraFactory.h
namespace camodocal
{
class CameraFactory
{
public:
CameraFactory();
static boost::shared_ptr<CameraFactory> instance(void);
CameraPtr generateCamera(Camera::ModelType modelType,
const std::string& cameraName,
cv::Size imageSize) const;
CameraPtr generateCameraFromYamlFile(const std::string& filename);
static int dern;
private:
static boost::shared_ptr<CameraFactory> m_instance;
};
}
/persist/chengde/workspace/vio_calib_ws/camodocal/src/camera_models/CameraFactory.cc
namespace camodocal
{
boost::shared_ptr<CameraFactory> CameraFactory::m_instance;
int CameraFactory::dern;
CameraFactory::CameraFactory()
{
}
boost::shared_ptr<CameraFactory>
CameraFactory::instance(void)
{
if (m_instance.get() == 0)
{
m_instance.reset(new CameraFactory);
dern = 1;
}
return m_instance;
}
}