Initialize function-local static variables using "T& t = *new T"

pull/3157/head
lixingcong 1 year ago
parent 5ebfc92730
commit d89fff6c7c
No known key found for this signature in database
GPG Key ID: FA7E30D337A91091

@ -12,7 +12,7 @@ namespace details {
struct console_mutex { struct console_mutex {
using mutex_t = std::mutex; using mutex_t = std::mutex;
static mutex_t &mutex() { static mutex_t &mutex() {
static mutex_t s_mutex; static mutex_t& s_mutex = *new mutex_t;
return s_mutex; return s_mutex;
} }
}; };
@ -20,7 +20,7 @@ struct console_mutex {
struct console_nullmutex { struct console_nullmutex {
using mutex_t = null_mutex; using mutex_t = null_mutex;
static mutex_t &mutex() { static mutex_t &mutex() {
static mutex_t s_mutex; static mutex_t& s_mutex = *new mutex_t;
return s_mutex; return s_mutex;
} }
}; };

@ -234,7 +234,7 @@ SPDLOG_INLINE void registry::set_levels(log_levels levels, level::level_enum *gl
} }
SPDLOG_INLINE registry &registry::instance() { SPDLOG_INLINE registry &registry::instance() {
static registry s_instance; static registry& s_instance = *new registry;
return s_instance; return s_instance;
} }

@ -38,7 +38,7 @@ public:
static void clear() { get_context().clear(); } static void clear() { get_context().clear(); }
static mdc_map_t &get_context() { static mdc_map_t &get_context() {
static thread_local mdc_map_t context; static thread_local mdc_map_t& context = *new mdc_map_t;
return context; return context;
} }
}; };

Loading…
Cancel
Save