gpt4 book ai didi

C++ 基本类型包装器

转载 作者:行者123 更新时间:2023-11-28 00:50:52 25 4
gpt4 key购买 nike

我想围绕 C++ 中的简单类型创建一些基本的包装器类。因为你不能像你应该能够的那样从基类型继承,我只是使用一个包装类。问题是,我希望能够直接转换为该类型,因为该转换是完全有效的。编译器只是不允许你,我无法找到一种方法来告诉它在不运行会降低性能的强制转换方法的情况下没问题。有什么办法吗?

下面是转换构造函数:

class Integer32
{
public:
Integer32(int value) { this->Value = value; }
int Value;
};

编译器是否知道跳过它并直接从 int 赋值?我该如何测试它以确保它非常重要......

最佳答案

提供一个非显式 构造函数以允许从基类型转换和强制转换为您的包装器。提供非显式 转换运算符以允许从包装器到基类的转换转换。

class my_wrapper {
my_wrapper(int); // casting from int
operator int(); // casting to int
};

(使它们显式以允许显式转换但不允许隐式转换)

关于C++ 基本类型包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14150492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com