c++基础编程 之 string

首先得说一下,我是个菜逼,这个问题今天才发现,才理解是什么意思;;;;


编程大牛请忽略此文章,,,,给初学者交流一下经验吧;;;;;


临近期末考试了,又拿出之前做的水体浏览一下,大喜,,发现问题了;;;;


在之前的C语言中,我们会经常用 char定义一个字符或字符串,,,


当时在处理字符串长度,字符串比较的时候通常会加一个头文件  #include <string.h>   对吧;;;;


现如今呢,在c++中,,,,同样出现了一个 #include <string>;


这不禁让我迷惑,当时对于这个问题并没有想,一带而过了,,,


其实,,,在c++中 #include <string>表示的事模板(STL)中的头文件,那么在c++中;


总是喜欢用string来定义字符串;;;;;;


今天终于理解了他的好处,大家请看如下代码;;;;;


#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
     string s[50005];
     int T,i=0,j=0;
     cin>>T;
     while (T--)cin>>s[i++];
     sort(s,s+i);
     while (i--)cout<<s[j++]<<endl;
}

代码很简单,却实现了字符串的字典序排列 ;;;;;

其实当时在疑惑string s[50005];;;这是什么鬼;

大家都知道想表达的本意是什么吧;;;就是定义一个二维数组,,开始我认为string就是单纯的像char一样呢,这就理解不通了;;

要输入好几组字符串,但是如果理解成char的话那就是只定义了一个只能装一个字符串;

现在真是觉得搞笑;;;其实这是c++中的模板的用法;;;;就是string 是一种特殊的类型容器,原因是他除了可作为自古类型的容器外,更多的是作为一种数据类型——字符串;;;可以像 int ,double,之类的基本数据类型那样定义string类型的数据,,,并进行各种运算。

所以要其字符串的长度的呢,,就不能用strlen了,因为两码事,,,需要用string类中的属性;;;

至于长度用     string name.length();  或者 name.size();;;;

关于string的其他功能,,,,请问度娘,,,,不是本文重点;;;;











你可能感兴趣的:(c++基础编程 之 string)