小编Esp*_*eon的帖子

C++ 不同概念的不同 using 声明

比方说,我有我的List<T>课。我有很多函数,我必须传递我T类型的单个对象。例如

void add(const T& item)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

T如果是某个类或结构就有意义。但是,如果T是字节或整数,则通过引用传递它是没有意义的,甚至是错误的,因为内存指针花费 8 个字节(在 32 位系统上为 4 个字节),即我通过 8 字节大小的指针传递 1 字节大小的数据类型。

所以我决定使用using指令定义参数数据类型。有点儿:

using argType = const T&; requires sizeof(T) > 8
using argType = T; requires sizeof(T) <= 8
Run Code Online (Sandbox Code Playgroud)

但是,显然,这段代码不起作用。您能为我提出其他解决方案吗?

c++ optimization micro-optimization c++-concepts c++20

2
推荐指数
1
解决办法
152
查看次数