C++中的string类

C++中的string类
1)是什么:
专门的字符串操作的一个类,非常强大,字符串CString,QString
2)跟char *的区别
Char *是指向字符数组首地址的指针,然后我们系统提供一个string.h,这个头文件声明了很所字符串操作函数,strlen、strcat、strcmp、strcpy…….
Stirng这个类,我们使用的时候不用考虑内存非配与释放,不用担心越界,因为前辈在封装string的时候,已经把几乎所有的情况都考虑到了,
3)学习方法,学会查找三种方式:MSDN、工具书、百度
4)头文件 #include<string>
且一定要加using namespace std
String的构造函数
1)String str;
2)string str(5,’a’);给str初始化为5个a
3)string str(“awefgweg”);
str.empty()==0,表明字符串为空
4) string str("aewgwea",4);给字符串str赋值为aewg
5)string str(“abcdefgh”,2,4);给字符串str赋值为cdef,4表示长

6)string str1(str); 拷贝构造
String类成员函数
1)Str.size(); 求str子符个数
2)str.capaciyt() 求str容量,一个空的str,他的容量为15,为了提高效率,当超过15时,此时容量15+16;当超过31时,15+16+16,……..以此类推,每次超出都会新增加16.
3)str.capacity(size_t);改变str的大小,会当超出处理,每次增加16
4) str.length();求字符串长度,大小和(1)相同。
5) str.resize(3);截取字符串
6)cout << str[3] << endl; 输出字符串str中的第三个字符。

时间: 11-26

C++中的string类的相关文章

标准C++中的string类的用法总结

标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的.也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法.其实,可能很多人很可能会忽略掉标准C++中string类的使用.标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用

标准C++中的string类的用法总结【转】

转自(略改动):http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 更全面新颖的说明见:http://www.cplusplus.com/reference/string/string/  说明: 1.size_t 是个unsigned integral type.  2.文中 c字符数组 是指末尾不带'\0'的,注意与 c字符串 的区别 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC

[经典面试题][百度]c++实现STL中的string类

题目 请用c++ 实现stl中的string类,实现构造,拷贝构造,析构,赋值,比较,字符串相加,获取长度及子串等功能. 代码 /*------------------------------------- * 日期:2015-03-31 * 作者:SJF0115 * 题目: 实现string类 * 来源:百度 * 博客: ------------------------------------*/ #include <iostream> #include <cstring> us

java 中的String类

String a = "aaa"; 用这种方式的时候java首先在内存中寻找"aaa"字符串,如果有,就把aaa的地址给它 如果没有则创建 String a = new String("aaa"); 是不管内存中有没有"aaa" 都开辟一块新内存保存它 可以用以下方法验证下 String a = "aaa"; String b = "aaa"; String c = new String

深入C#中的string类

深入C#中的String类 1.字符串查找方法 ①.indexOf(char/string value) 找到第一个匹配项所在的位置 ②.LastindexOf(char/string value) 找到最后一次匹配项所在的位置 *两个方法的返回值都是int类型,如果找到匹配项则返回下标,没有返回-1; *两个方法支持char类型和string类型 ③示例: int 变量名 = 字符串.IndexOf("匹配项"); 2.兼容大小写形式 ①string.Trim(); 去除字符串两端空

为什么jdk中把String类设计成final

为什么jdk中把String类设计成final? 最佳答案: 主要是为了"效率" 和 "安全性" 的缘故.若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所以String被定义成final. 其它答案一: String和其他基本类型不同,他是个对象类型.既然是对象类型,如果是在静态方法下是必须调用静态方法或值的,如果是非静态的方法,就必须要实例化. main函数是个static的.所以String要能像其他的基本类型一样直接被调用.这也是

C++中关于string类的一些API总结

参考资料:https://www.cnblogs.com/X-Do-Better/p/8628492.html: https://blog.csdn.net/iot_change/article/details/8496977 一.前言 对于C++中的string类,需要使用的话,需要包含头文件<string>.string类在C++中属于一个模板类,位于命名空间namespace中,使用的时候需要加上下一语句. 1 using namespace std; 二.自身特性方面的API 1.in

Java中的String类与StringBuffer类

String和StringBuffer主要有2个区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringBuffer类对象为可修改对象,可以通过append()方法来修改值 (2)String类对象的性能远不如StringBuffer类. 具体解释如下: 在java中有3个类来负责字符的操作. 1.Character 是进行单个字符操作的, 2.String 对一串字符进行操作.不可变类. 3.StringB

java中的String类常量池详解

test1: package StringTest; public class test1 { /** * @param args */ public static void main(String[] args){ String a = "a1"; String b = "a"+ 1; System.out.println(a==b); }//true } test2: package StringTest; public class test2 { /** *