为什么它返回一个 常量 char 指针? C++11 标准说:

动态分配的东西怎么可能是常量(const char*)?

最佳答案

在 C 和 C++ 中,const 或多或少地转换为“只读”。
因此,当某事物返回 char const * 时,这并不一定意味着它指向的数据实际上是 const ——它只是意味着您接收的指针仅支持读取而不是写入它指向的数据。
字符串对象本身可能能够修改该数据——但是(至少通过您收到的指针)您不能直接修改数据。

关于c++ - 为什么 string::c_str() 在动态分配字符串时返回 const char* ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/65430224/

10-14 07:57
查看更多