1

在 C++ 中定义以下两种方法并在运行时不存在混淆的情况下使用它们是否安全?

void map(float (&a)[10], const double (&b)[6]);
void map(float (&a)[10], const double (&b)[3]);

或者

void map(double (&a)[6], const float (&b)[10]);
void map(double (&a)[3], const float (&b)[10]);

他们编译好,所以我认为他们的签名应该不同,一切都会好起来的。但是,我目前遇到内存问题,所以我想确定一下。

4

1 回答 1

2

是的,它非常安全。此外,你的句子

没有它们在运行时混淆的风险?

绝对没有意义,因为重载决议发生在编译时。

于 2013-01-24T11:12:07.137 回答