参考:http://blog.youkuaiyun.com/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; }
本文探讨了C++中标准库字符串类std::string的基本用法,包括内存分配、resize与reserve方法的区别。此外,还提供了一个实用的示例,展示了如何获取文件路径的父目录。
1733

被折叠的 条评论
为什么被折叠?



