c_str()
1、c_str() 是string的一个方法,返回指向const char的指针,该指针不能修改指向的内容。
2、为什么要用c_str()?
因为有些地方需要用char指针,比如以char指针作为形参的方法。
3、为什么可以用文本常量的字符串赋值给char指针,却不能用字符串变量赋值给char指针?

1 char * cp1 = "hello"; // OK
2
3 string str = "hello";
4
5 cp1 = str; // Error,无法从“std::string”转换为“char *”
文本常量字符串赋值给char指针,做的事情如下:
a、为char指针分配内存;
b、为文本常量字符串分配内存;
c、将字符串首地址赋值给char指针。
文本常量字符串赋值给char指针,实际上这里的文本常量字符串表达的意义是首地址。
注意:与文本常量对应的是具名常量。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理