STL string的构造函数
前几天在网上,一位网友问我几个问题如下:
     string S0(, 'A');
     string S1 = "abcdefg";
     string S2(S1, , );
     string S3 (S1, );
     cout << "s0 = " << S0.c_str() <<endl;
     cout << "s2 = " << S2.c_str() <<endl;
     cout << "s3 = " << S3.c_str() <<endl;
就这么简单的几句语句,发现如果不去运行下,还真不知道结果是什么。
常用的 string赋值都是这样的:
 string s = "aaa";
 string s1("bbbb");
查了下资料,才知道string的构造函数居然有那么多。
a) string s; //生成一个空字符串s
b) string s(str) //拷贝构造函数 生成str的复制品
c) string s(str, stridx) //将字符串str内"始于位置stridx"的部分当作字符串的初值
d) string s(str, stridx, strlen) //将字符串str内"始于stridx且长度顶多strlen"的部分作为字符串的初值
e) string s(cstr) //将cstr字符串作为s的初值
f) string s(chars, chars_len) //将C字符串前chars_len个字符作为字符串s的初值。
g) string s(num, c) //生成一个字符串,包含num个c字符
h) string s(beg, end) //以区间beg;end(不包含end)内的字符作为字符串s的初值
STL string的构造函数的更多相关文章
- [转载] C++ STL string的Copy-On-Write技术
		原文: http://coolshell.cn/articles/12199.html stl的string是经过严格优化的, 深入理解对以后编程过程中应用string非常有益处, 感谢左耳朵耗子的精 ... 
- 深入剖析 linux GCC 4.4 的 STL string
		转自: 深入剖析 linux GCC 4.4 的 STL string 本文通过研究STL源码来剖析C++中标准模板块库std::string运行机理,重点研究了其中的引用计数和Copy-On-Wri ... 
- C++标准模板库Stand Template Library(STL)简介与STL string类
		参考<21天学通C++>第15和16章节,在对宏和模板学习之后,开启对C++实现的标准模板类STL进行简介,同时介绍简单的string类.虽然前面对于vector.deque.list等进 ... 
- 类string的构造函数、拷贝构造函数和析构函数
		原文:http://www.cnblogs.com/Laokong-ServiceStation/archive/2011/04/19/2020402.html 类string的构造函数.拷贝构造 ... 
- String的构造函数、析构函数和赋值函数
		编写类String的构造函数.析构函数和赋值函数 已知类String的原型为: class String { public: String(const char *str = NULL); // 普通 ... 
- 编写类String 的构造函数、析构函数和赋值函数
		编写类String 的构造函数.析构函数和赋值函数,已知类String 的原型为:class String{public:String(const char *str = NULL); // 普通构造 ... 
- stl  string 容器的使用
		string 是基本的字符串序列容器,对应数据结构中的串,和vector<char>也类似,但功能更多 string 容器的使用 1,string 的构造函数是. string() 2,s ... 
- 格式字符串分配stl::string
		代码非常easy,不解释,直接在代码: #include <cstdio> #include <cstdarg> #include <iostream> using ... 
- 浅谈C++ STL string容器
		浅谈C++ STL string容器 本篇随笔简单讲解一下\(C++STL\)中\(string\)容器的使用方法及技巧. string容器的概念 其实\(string\)并不是\(STL\)的一种容 ... 
随机推荐
- Beta版本冲刺第六天
			Aruba 408 409 410 428 429 431 完成任务: 实现文字导出为图片 改进文字分享 改进存图片功能 修复一些已知bug 立会照片: 燃尽图: commit: coding.net ... 
- Django知识点整理
			什么是web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. web应用 访 ... 
- 不要遍历dom
			function selectProvince() { $.ajax( { type: "post", url: "/province/getStrType", ... 
- nginx-1.8.0 rpm包制作
			1.安装rpm-build # yum install rpm-build 2.创建制作RPM包目录 # cat /root/.rpmmacros %_topdir /root/rpmbuild %_ ... 
- coreseek增量索引合并
			重建主索引和增量索引: [plain] view plain copy /usr/local/coreseek/bin/indexer--config /usr/local/coreseek/etc/ ... 
- 第四章 --- 关于Javascript 设计模式 之 迭代器模式
			今天我先写 两个常用的迭代器的 例子.(同学们先自行体会这二种迭代器的优缺点) 需求:比较两个数组是否相等 tips: 当数组的下标不为数字的时候,默认为 该键值对 为 对象. 然后迭代器的原理基本来 ... 
- 【Sorting Collection】
			排序集锦 各种排序算法,总结一下,一直在遗忘...... [冒泡排序] 就是下面这个鬼啦: c实现代码(升序): #include<stdio.h> void BubbleSort(int ... 
- javascript 获取滚动条高度+常用js页面宽度与高度
			/******************** * 取窗口滚动条高度 ******************/function getScrollTop(){ var scrollTop=0; ... 
- 让ecshop模板支持php运算
			让ecshop模板支持php运算在 cls_template.php 底部加入函数: /** * 处理if标签 * * @access public * @param string $tag_args ... 
- js之认识闭包
			本文采用5W1H分析法来看一下闭包. 一.why-----从为什么要引入闭包先来了解一下闭包. 讨论为什么要引入闭包就要先讨论一下js中的作用域链及垃圾回收机制. 熟悉js语言的人都知道js中有作用域 ... 
