c++ - boost char_ptr_holder 实例化

标签 c++ templates boost constructor initialization

我正在尝试实例化在 boost 库中定义的以下类

在 boost/interprocess/detail/segment_manager_helper.hpp 中定义

 template<class CharType>
 class char_ptr_holder
 {
   public:
    char_ptr_holder(const CharType *name)
    : m_name(name)
   {}

  char_ptr_holder(const anonymous_instance_t *)
     : m_name(static_cast<CharType*>(0))
  {}

  char_ptr_holder(const unique_instance_t *)
    : m_name(reinterpret_cast<CharType*>(-1))
  {}

  operator const CharType *()
  {  return m_name;  }

  private:
   const CharType *m_name;
};

但我做不到。我很困惑,因为 m_name 是一个指针,但是正在初始化列表中使用 CharType * 参数“构造”。

帮助

最佳答案

例如

char_ptr_holder<char> value("Hello!");

关于c++ - boost char_ptr_holder 实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15944829/

相关文章:

c++ - 为什么 Vulkan 的 VkBool32 实现为 unsigned int?

c++ - make_shared如何为manager object和managed object分配单个动态内存

c++ - 用于插入数据的最快数据结构,而不是用于搜索

c++ - 派生模板类访问基类成员数据

c++ - 链接器错误 LNK1104 与 'libboost_filesystem-vc100-mt-s-1_49.lib'

c++ - 构造函数带参数时如何实例化模板类

c++ - 非类型(引用)模板参数和链接

c++ - 用作模板参数以比较 double 值的类型

regex - 重复捕获组忽略空格

c++ - 共享内存分配 > 2GB(需要链接到 VB6 使用的 32 位 DLL)