有没有一种优雅的方法来创建和初始化一个 const std::vector<const T>
像 const T a[] = { ... }
到一个固定(和小)数量的值?
我需要经常调用一个需要 vector<T>
的函数,但在我的情况下这些值永远不会改变。
原则上我想到了类似的东西
namespace {
const std::vector<const T> v(??);
}
因为 v 不会在这个编译单元之外使用。
原文由 vscharf 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于 C++11:
原答案:
您要么必须等待 C++0x,要么使用 Boost.Assign 之类的东西来做到这一点。
例如: