gpt4 book ai didi

C++:按 vector 大小重载函数

转载 作者:太空宇宙 更新时间:2023-11-03 10:28:12 24 4
gpt4 key购买 nike

我有一个将 vector 转换为点的函数,如下所示:

Point2D<T> VectorToPoint(std::vector<T> &vec)
{
}

Point3D<T> VectorToPoint(std::vector<T> &vec)
{
}

显然,这不会编译。我想重载它,以便我可以根据 vector 大小返回正确的点类型。使用数组很容易,如下所示。我可以用 vector 来做吗?

Point2D<T> ArrayToPoint(T (&arr)[2])
{
}

Point3D<T> ArrayToPoint(T (&arr)[3])
{
}

最佳答案

std::vector 的类型不随其大小改变;因此,这不能用重载方法来完成。事实上, vector 的大小是一个运行时属性,因此无法在编译时确定,而编译时是确定类型和执行重载决策的时间。

关于C++:按 vector 大小重载函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26532885/

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