设置可打印消息的编译时间前缀

问题描述 投票:0回答:1

我想创建一个打印到命令行的函数,其前缀在运行时永远不会改变,所以我想在编译时设置它。比如:

print_sp(const char * msg)
{
  printf("%s%s", prefix, msg);
}

有没有办法可以在 C++ 中使用 constexpr 来做到这一点?如果可以在 C++11 中实现那就更好了。

我试图避免在这里使用带有 SetPrefix 方法的单例类。

c++ c++11 constexpr
1个回答
0
投票

一种简单的方法是使用 C 预处理器:

#define MYPREFIX "myprefix"

print_sp(const char * msg)
{
   printf(MYPREFIX "%s", msg);
}
© www.soinside.com 2019 - 2024. All rights reserved.