cpp
string a = "12345.6789";
string b = "333.33333";
这是 C++ 中 std::string(字符串类) 的最基础用法,用来直接定义一串文本 ,比 C 语言的 char 数组更方便、更安全。
我用最简单的话给你拆解:
一、 核心一句话总结
string a = "12345.6789"; 的意思就是:创建一个名叫 a 的 "文本盒子",里面装着文字 12345.6789。
二、 逐行解释
1. string a
- 含义 :声明一个 字符串变量 ,名字叫
a。 - 特点:它是 C++ 标准库里的类,不是基本数据类型(如 int、float)。
- 好处 :不用关心数组长度,不用手动加结束符
\0,自动管理内存。
2. = "12345.6789"
- 含义 :给这个字符串变量 初始化。
- 内容 :双引号
"..."里面的所有内容(包括数字、小数点、空格)都是字符串的有效字符。 - 存储 :系统会自动在字符串末尾补上结束符
\0,你不用管。
三、 这两个变量里到底存了什么?
定义之后,内存里是这样的:
a的内容 :'1' '2' '3' '4' '5' '.' '6' '7' '8' '9'b的内容 :'3' '3' '3' '.' '3' '3' '3' '3' '3'
四、 新手最容易混淆的 3 个区别(必看)
1. 和 char 数组的区别(最常用)
char arr[] = "12345.6789";(C 语言风格)- 是一个字符数组,长度固定。
- 容易溢出,操作麻烦(需要用
strcpy、strcat等函数)。
string a = "12345.6789";(C++ 风格)- 是一个动态对象,长度可变。
- 可以直接用
+号拼接,直接比较大小,非常方便。
2. 和普通变量的区别
int a = 10;存的是 数值。string a = "10";存的是 字符 (由 '1' 和 '0' 组成的一串文本)。- 注意:
"10"是字符串,10是整数,两者不一样!
- 注意:
3. 头文件必须要有
使用 string 必须包含头文件:
cpp
#include <string> // 必须加这行
using namespace std; // 或者用 std::string a
五、 延伸:怎么操作这两个字符串?
既然你给出了两个字符串,这里给你展示几个常用操作:
cpp
#include <string>
#include <iostream>
using namespace std;
int main() {
string a = "12345.6789";
string b = "333.33333";
// 1. 拼接(合并)
string c = a + b;
// 结果 c = "12345.6789333.33333"
// 2. 取长度
int len = a.size();
// 结果 len = 10
// 3. 比较大小(按字典序)
if (a > b) {
cout << "a 比 b 大";
}
return 0;
}
总结
string就是 C++ 的 "文本变量"。- 你写的
string a = "12345.6789"就是定义了一段带小数点的文本。 - 它的最大好处是 支持直接加减(拼接) ,比
char数组好用太多!