从文件加载const命名空间变量值

时间:2017-06-24 00:18:34

标签: c++ file namespaces const sfml

我有以下代码:

colors.hpp:

#ifndef COLORS_HPP
#define COLORS_HPP

#include <SFML/Graphics/Color.hpp>

namespace Colors
{
    extern const sf::Color Global;
    extern const sf::Colot Text;
}

#endif // COLORS_HPP

colors.cpp:

#include "colors.hpp"

namespace Colors
{
    const sf::Color Global(50, 50, 50, 255);
    const sf::Color Text(255, 255, 255, 255);
}

所以我想知道是否有办法从计算机上的文件加载这些变量的值,例如“colors.txt”。我知道我可以使用一个类,但是我想通过包含“colors.hpp”来在整个程序中访问这些变量。

1 个答案:

答案 0 :(得分:2)

我会尝试这样的事情

#include "colors.hpp"

sf::Color loadFromFile(std::string const& filename) {
   sf::Color result;
   // open file 'filename'
   // update result
   return result;
}

namespace Colors
{
    const sf::Color Global{loadFromFile("file1")};
    const sf::Color Text{loadFromFile("file2")};
}