Можно ли объявить константный вектор в заголовочном файле?

Ниже приведен некоторый упрощенный код из заголовочного файла, в котором свободные функции объявлены, но не определены, а вектор объявлен и определен.

Файл cpp содержит реализацию бесплатных функций.

Мне было интересно, есть ли способ объявить вектор в заголовочном файле и поместить определение в файл cpp.

// my-file.h

namespace MyNamespace
{
bool foo(const std::string& name, const std::string& value);
void bar(const std::string& name, const std::string& value);

const std::vector<std::function<void(const std::string&, const std::string&)>> m_myVector
{
foo,
bar,
[](const std::string& name, const std::string& value)
{
// do some stuff
}
};

} // MyNamespace

3

Решение

Вы можете объявить переменную const в своем заголовке как:

extern
const std::vector<std::function<void(const std::string&, const std::string&)>> m_myVector;
4

Другие решения


По вопросам рекламы [email protected]