参考:http://blog.csdn.net/freecloud_insky/article/details/47058597
分析以下代码,可见
#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; }