c++基本类型包装器
C++ basic type wrappers
我想在c++中围绕简单类型创建一些基本的包装类。由于您不能像应该的那样从基类型继承,所以我只使用包装器类。问题是,我希望能够直接转换为该类型,因为该转换将是完全有效的。编译器就是不让你,我找不到一种方法来告诉它,它是可以的,而不运行强制转换方法,这会降低性能。有什么办法可以做到吗?
下面是转换构造函数:
class Integer32
{
public:
Integer32(int value) { this->Value = value; }
int Value;
};
编译器知道跳过它,直接从int赋值吗?我如何测试它来确保,因为它是相当重要的…
提供一个非explicit
构造函数来允许从基类型到包装器的转换和强制转换。提供一个非explicit
转换操作符,允许从包装器到基类的转换强制转换。
class my_wrapper {
my_wrapper(int); // casting from int
operator int(); // casting to int
};
(将它们设置为explicit
以允许显式强制转换,但不允许隐式转换)
相关文章:
- 如何在c++迭代器类型中包装std::chrono
- 在类型和包装器之间reinterpret_cast是否安全<Type>?
- 包装C++类时不完整的类型 GLFWwindow
- 如何包装一个函数以适应另一个函数的所需类型
- 通过包装器从 C 访问C++ API 时,如何访问枚举类型
- 为 Sql 服务器实现 odbc 包装器.将数据库数据读取为字符或要求驱动程序将数据转换为 C 类型
- 有什么方法可以包装自动类型扣除的助推"tee"流的构造?
- 有没有办法将输入类型包装到C++中的模板类?
- 包装任意类型/非类型模板类的模板类
- 在 stl 容器包装器中定义迭代器类型
- 如何在 C++ 中正确包装类型
- 如何包装对象,使它们成为无法交互的单独类型?
- 包装一个函数,在 Cython 中返回复杂类型的向量
- 对类型的非常量左值引用 - 使用类类型的参数时,目标C++包装器中的错误
- 相同的枚举项在 SWIG > 2.0.1 中包装在不同类型的常量中
- Objective-C C++ 包装器 类型错误的不完整定义
- 包装类型的铸造
- 包装类型,但保留其有关函数重载的行为
- 根据Template参数包装类型的容器的Template类
- 在结构中包装类型会导致额外的填充