STL拾漏补遗
来源:互联网 发布:易语言 网络服务端 编辑:程序博客网 时间:2024/05/16 19:43
1.std::string::copy(char*,int pos, int count)
std::string str = "hello, world";
char var[4] = { 0 };
str.copy(var, 3, 2);
2.vector[i].若超界,输出一个随机数,vector.at(i)超界会抛出异常
3.vector插入类时,必须定义这样一个拷贝构造函数:
CA(const CA&)
{}
4.vector获取和设置最后/第一个元素
int ifront = vec.front();
int iback = vec.back();
vec.front() = 123;
vec.back() = 345;
5.如果vector的元素是CA*, vec.push_back(new CA);那么必须手动循环删除vector里面的指针
6.map::erase( key );
7.传递仿函数的引用,其实没也效果,比如这样一个类,IntSequence:
generate_n<back_insert_iterator<list<int> >,
int, IntSequence&>(back_inserter(coll), 4, seq);
int, IntSequence&>(back_inserter(coll), 4, seq);
在generate_n内部,会调用另外一个_Generate_n函数,这个函数会真正的调用seq(),虽然调用generate_n时使用了引用,
但_Generate_n却无法设定为使用引用,所以调用结束时,seq的状态并没有改变
8.
inline std::string Test()
{
std::string ret;
ret.reserve(20); //这表示预留20字节的空间,但还没有用
strcpy(&ret[0], "what kind"); ret此时的大小为0,所以返回一个空串
return ret;
}
{
std::string ret;
ret.reserve(20); //这表示预留20字节的空间,但还没有用
strcpy(&ret[0], "what kind"); ret此时的大小为0,所以返回一个空串
return ret;
}
9.std::map, 使用find()和count()方法来判断是否存在某一个元素
- STL拾漏补遗
- STL拾漏补遗2
- Java学习笔记—基础知识点拾漏补遗
- Tuple补遗
- scanf()补遗
- junit补遗
- stl
- stl
- STL
- STL
- STL
- STL
- STL
- STL
- STL
- stl
- STL
- STL
- 中国联通宽带可以上网(外网)局域网无法互通(ping不通)的解决方法
- 【Visual C++】游戏开发笔记三十五 站在巨人的肩膀上:游戏引擎导论
- android 安卓创建文件夹
- ARM汇编语言调用C函数之参数传递
- maven配置模板
- STL拾漏补遗
- 学习Java: Queue
- ConcurrentLinkedQueue
- NetBeans无法部署struts2项目,尚未部署该模块错误
- 心有体会
- 基本单向链表的操作
- zoj1507-Crazy Search
- Oracle重做日志文件--转载
- [Leetcode] Construct Binary Tree from Preorder and Inorder Traversal