linux c++ static map 段错误 (核心已转储)

config.cc map初始化

#include "config.h"

Config::ConfigVarMap Config::s_datas;

test.cc

#include "log.h"
#include <iostream>
#include <time.h>
#include "config.h"
#include "singleton.h"


//ConfigVar<int>::ptr a = Config::Lookup("Systme.port", (int)8080, "aaa");
//指针a放外面会报错:段错误 (核心已转储)
int main(int argc, char const *argv[])
{   
	//放在这里就没事,不知道为什么
	//CHI_LOG_DEBUG(CHI_LOG_ROOT()) << a->toSting()输出2022-06-27 11:18:44     /home/chi/Codes/tests/test.cc:12        34797   0               0       DEBUG   root    8080
	ConfigVar<int>::ptr a = Config::Lookup("Systme.port", (int)8080, "aaa");
    auto i = LogManagerPtr::GetInstance()->getLogger("xxx");
    CHI_LOG_DEBUG(CHI_LOG_ROOT()) << a->toSting();
    return 0;
}

-----------------------------
//config.h
template <class T>
static typename ConfigVar<T>::ptr Lookup(const std::string &name, T val, const std::string &description = "")
{    
    typename ConfigVar<T>::ptr v(new ConfigVar<T>(name, val, description));
    s_datas[name]=v;//map插入报段错误
    return v;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值