何时使用const char*

use*_*312 2 c++

如果我有一个函数api,它需要14位输入并返回6位数输出.我基本上将输入定义为const char*.这是正确和安全的事吗?另外为什么我不想只做char*我可以,但在这种情况下使用const char*似乎更谨慎,特别是因为它是我提供的api.所以对于不同的输入值,我生成6位数的代码.

Ara*_*raK 10

我不确定你为什么使用char指针,你可以使用std::string:

std::string code(const std::string& input)
{ ... }
Run Code Online (Sandbox Code Playgroud)

如果您没有选择,则使用const char*向用户保证您不会更改其数据,特别是如果它是字符串文字,其中修改一个是未定义的行为.


Joh*_*don 5

通过使用 const,您向用户保证您不会更改传入的字符串。它成为帮助定义函数行为的 API 的一部分。它还让用户传递常量字符串,包括像“mystring”这样的文字字符串。