std::string的reserve()和resize()函数的区别
2016-12-14 16:25
302 查看
参考:http://blog.csdn.net/freecloud_insky/article/details/47058597
分析以下代码,可见
进阶,实际应用
/*获取当前路径的父路径*/
string CFileUtils::get_parent_path(const string & path)
{
string file(path);
while (file.data()[file.length() - 1] == '\\' || file.data()[file.length() - 1] == '/')
{
file.resize(file.length() - 1);
}
int size = file.find_last_of('\\');
if (size > 0)
{
file.resize(size + 1);
}
return file;
}
分析以下代码,可见
#include <stdlib.h> #include <stdio.h> #include <string> int main() { //1 string内存分配按照:(n*16-1)分配,n好像是次数 std::string str1 = "hello"; str1.reserve(20); //2 std::string str2 = "hello"; str2.resize(2); //3 std::string str3 = "hello"; str3.resize(10); //4 std::string str4 = "hello"; str4.resize(10, 'b'); return 0; }
进阶,实际应用
/*获取当前路径的父路径*/
string CFileUtils::get_parent_path(const string & path)
{
string file(path);
while (file.data()[file.length() - 1] == '\\' || file.data()[file.length() - 1] == '/')
{
file.resize(file.length() - 1);
}
int size = file.find_last_of('\\');
if (size > 0)
{
file.resize(size + 1);
}
return file;
}
相关文章推荐
- std::vector的reserve和resize的区别
- vector的resize()和reserve()函数的区别
- vector容器成员函数resize与reserve的区别
- string.reserve 与 string.resize的区别
- string.reserve 与 string.resize的区别
- vector的resize()和reserve()函数的区别
- string.reserve 与 string.resize的区别
- vector.resize 与 vector.reserve的区别
- vector.resize 与 vector.reserve的区别
- 详解$_SERVER函数中QUERY_STRING和REQUEST_URI等四个变量区别
- STL中容器的几个容易混淆的成员函数-size, capacity, resize, reserve
- C/C++ 中的一些字符操作函数(不是std::string)
- std::string的工具函数
- 重写string.h中的字符串操作函数--strlen,strlen 与sizeof的区别
- vector.resize 与 vector.reserve的区别
- vector 的resize 与reserve的区别
- std::string的工具函数 - 用ostringstream实现repeat
- 实例详解$_SERVER函数中QUERY_STRING和REQUEST_URI等四个变量区别
- std::string的工具函数 - 用isspace实现trim函数
- php中防注入函数addslashes() ,mysql_real_escape_string() 和mysql_escape_string() 的区别