gpt4 book ai didi

c++ - decltype 在函数参数中的使用

转载 作者:行者123 更新时间:2023-11-28 03:14:33 25 4
gpt4 key购买 nike

<分区>

这似乎是今天的一种常见方法

auto foo(T a, K b) -> dectlype(a+b);

但是这段代码呢?

void foo(decltype(a));

其中“a”是某个类中的一种变量。喜欢:

class SomeClass
{
public:
void foo(decltype(a));
private:
int a;
};

现在,我明白旧式方法是使用 typedef:

typedef int IntType;

但是 decltype 呢?你怎么看?

在我看来 - 这有以下缺点:

  1. 不能在抽象接口(interface)中使用(没有“a”来取类型的)
  2. 使代码更难阅读
  3. 最常见的 IDE 不生成decltyped函数的正确定义

我能想到的一个专业人士:

  1. 您无需更改 typedef 就可以安全地应对类型更改。

老实说,我认为缺点远远超过 decltype 的这种用法,但我想听听除我以外的意见 :)

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