对于一个问题陈述,有一个cpp函数返回char*
需要return
值作为-1
的情况,如何返回负整数值的char*?
示例伪代码,其中函数解密mystring
并返回给定index
处的字符,如果未找到,则应返回-1
:
char * decrypt(char *mystring, int index){.........................
//code for decrypt mystring
if (index is valid after decryption)
return valid value
else
return '-1';
}
在上面的代码块中,如何返回与char * 兼容的“-1”
3条答案
按热度按时间cunj1qz11#
如果未找到,则应返回-1:
这是一个糟糕的设计,指针有一种传统的方式来表示一个不指向任何东西的值:空指针。一个更传统的设计是在没有找到结果时返回
nullptr
。如果使用任意值,如-1,调用方将很难确定未找到结果。
如何返回带负整数值的char*?
示例(但请记住,这是一个糟糕的设计):
并返回字符
您的函数与您的描述相矛盾。函数没有返回字符;它返回指针。
vyswwuz22#
在C++17中,您可以使用std::optional(https://en.cppreference.com/w/cpp/utility/optional)来适应这种情况(尽管您肯定需要更多的经验)。
w46czmvw3#
在cpp**return '#'**的字符返回函数中,可以返回'#'以返回-1
第一个月