gpt4 book ai didi

c++ - 在声明它的方法内部初始化静态 std::multimap

转载 作者:太空狗 更新时间:2023-10-29 23:41:05 30 4
gpt4 key购买 nike

我需要静态 multimap ,但我不想将它作为类字段来做,因为我只需要在一种方法中使用它。我是这样写的,但是初始化代码只会在第一次调用该函数时运行的函数内初始化此映射的任何其他方法不是吗?

static void someClass::someMethod(/**/)
{
static multimap<int, char> err;

if(err.size() == 0)
{//initialize here
err.insert(std::pair<int, char>(1, 'a'));
err.insert(std::pair<int, char>(2, 'b'));
err.insert(std::pair<int, char>(3, 'v'));
err.insert(std::pair<int, char>(4, 'c'));
}
//method logic
}

最佳答案

如果你有 C++11 编译器,你可以使用初始化列表:

static std::multimap<int, char> err = {
{ 1, 'a' },
{ 2, 'b' },
{ 3, 'v' },
{ 4, 'c' }
};

关于c++ - 在声明它的方法内部初始化静态 std::multimap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13957721/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com