gpt4 book ai didi

c++ - 有没有办法让 C++ 函数采用具有相同成员的两种不同类型?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:55:28 25 4
gpt4 key购买 nike

struct typeA
{
double fieldA;
}

struct typeB
{
double fieldA;
double fieldB;
}


void do_stuff(typeA or typeB input)
{
input.fieldA // I will only use fieldA and will never use fieldB
}

它对性能很敏感,所以我不想先将其转换为通用类型。

最佳答案

如果您确实使用通用类型,则不会影响性能,如下所示:

struct typeA
{
double fieldA;
};

struct typeB: typeA
{
double fieldB;
};


void do_stuff(typeA & input)
{
input.fieldA; // I will only use fieldA and will never use fieldB
}

只有开始使用虚拟方法后,您才会开始看到性能下降。除非并且直到你这样做——没有性能成本

关于c++ - 有没有办法让 C++ 函数采用具有相同成员的两种不同类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52064246/

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