我希望在这里消除一些混乱。这似乎很简单,但我找不到明确的答案。
我应该总是使用函数的显式返回类型,除非我有充分的理由不这样做(例如,需要节省内存),即使我知道可以返回的范围将适合较小的类型?] >
以以下功能为例:
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。因此,在隐式转换为较小的类型时不会提高性能。但是性能受到打击吗?较大类型的冗余位会怎样?
感谢您的时间,我感谢您的指导。
我希望在这里消除一些混乱。这似乎很简单,但我找不到明确的答案。除非有充分的理由,否则我应该始终使用函数的显式返回类型吗?...
我不会直接回答您的问题。