当隐式转换函数的返回对象时是否会影响性能?

问题描述 投票:1回答:1

我希望在这里消除一些混乱。这似乎很简单,但我找不到明确的答案。

我应该总是使用函数的显式返回类型,除非我有充分的理由不这样做(例如,需要节省内存),即使我知道可以返回的范围将适合较小的类型?] >

以以下功能为例:

size_t std::string::find_last_of (char c, size_t pos = npos) const;

是这个:

std::string s("woof.woof.meo.w");
size_t result = s.find_last_of('.');

小于,等于或比这更有效:

std::string s("woof.woof.meo.w");
unsigned char result = s.find_last_of('.');

我认为无论将结果复制到哪种类型,都首先构造一个size_t。因此,在隐式转换为较小的类型时不会提高性能。但是性能受到打击吗?较大类型的冗余位会怎样?

感谢您的时间,我感谢您的指导。

我希望在这里消除一些混乱。这似乎很简单,但我找不到明确的答案。除非有充分的理由,否则我应该始终使用函数的显式返回类型吗?...

c++
1个回答
0
投票

我不会直接回答您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.