C/C 基础
文章平均质量分 83
beibaoke910
这个作者很懒,什么都没留下…
展开
-
C++删除目录,包括该目录下所有子目录和文件
void RemoveAllFiles(wstring wstrDir){ if (wstrDir.empty()) { return; } HANDLE hFind; WIN32_FIND_DATA findData; wstring wstrTempDir = wstrDir + (L"\\*.*");; hFind = FindFirstFile(wstrTempDir.c_str(), &findData); if (hFind == INVALID_HANDLE_V.原创 2021-04-25 15:49:30 · 8997 阅读 · 0 评论 -
vector中的push_back(涉及到动态分配),resize,reserve,swap方法解析
size capacitysize :vector中元素个数 capacity :vector的容量,即开辟空间大小。 当像vector中放入元素时,若size ==capacity,此时vector会重新申请一段内存是之前内存的2倍,然后将原来的元素拷贝到新的里边,此时指向原来vector的迭代器也会失效。而不断的push_back,会导致不断的拷贝操作,影响效率。 resize(n), 改变size 的大小(改变vector中元素的数目),并给新的元素赋值 reserve(n),只是改变c.原创 2021-03-23 10:58:23 · 18881 阅读 · 0 评论 -
关于迭代器失效
vector,内存连续,类似数组,当删除其中一个元素时,后边的每一个元素都要往前移动,导致迭代器失效,所以不能用earse(it++)。vector的earse返回新的迭代器。map,红黑树,删除时,只是删除的失效,所以可以用earse(iter++),相当于 tmpIter = iter;it++;earse(iter);顺序容器vectorvector是一个线性顺序机构,连续存储空间,相当于数组,可以自动扩展,可以将其看成动态数组。早创建一个vector后,会自动在内存中分配一块连续的内原创 2021-03-19 14:57:03 · 157 阅读 · 0 评论 -
工具类总结
目录一、替换Replace二、分割Split代码举例:一、替换Replacestd::string Replace(const std::string& strSrc, const std::string& strRaw, const std::string& strReplace){ if (strSrc.empty()) { return strSrc; } std::string strRet; std::string strToBe.原创 2021-03-10 13:56:20 · 179 阅读 · 0 评论 -
【待补充】字符编码问题
待总结:多字节和Unicode的转换问题,string char*之间的转换问题目录1. ASCII码: 1.1产生 1.2 表达方式 1.3 大小规则2. 字符集和字符编码3. 应用14. 应用2(表示整数,字符,布尔值的算术类型合称为整型)5.Unicode Character Set与Multi-Byte Character Set...原创 2017-12-27 17:26:14 · 393 阅读 · 0 评论