
c++
文章平均质量分 55
sihsd
Be happy, be positive, be aggressive.
展开
-
[C++]使用iterator移动vector中的元素,报错AddressSanitizer: heap-use-after-free
以leetcode977为例,python已经成功实现。但C++报错。https://leetcode-cn.com/problems/squares-of-a-sorted-array/submissions/迭代器移除元素,返回的迭代器指向的是被删除元素的下一个元素,所以不需要it++;https://blog.youkuaiyun.com/weixin_41001497/article/details/108441390参考一下题解https://leetcode-cn.com/problems/squ原创 2021-10-14 21:35:35 · 406 阅读 · 0 评论 -
[C++]何为溢出?如何避免?
以Leetcode69为例:给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。示例 1:输入:x = 4输出:2示例 2:输入:x = 8输出:2解释:8 的算术平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。提示:0 <= x <= 231 - 1=================原创 2021-10-11 20:45:37 · 1255 阅读 · 0 评论 -
[C++] leetcode704的递归和非递归解法,递归用到assign方法进行vector的切片
以Leetcode704为例,题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1原创 2021-10-10 17:11:22 · 227 阅读 · 0 评论 -
[c++]int、float、char、string、CString、LPCSTR、LPCTSTR的相互转换
1. CString->LPCSTR直接赋值即可CString cs = "abcd";LPCSTR lp = cs;2. CString->LPCTSTRLPCTSTR = _T(cs);3. CString->charchar ch = cs.c_Str();4. CString->intint i = atoi(cs.c_str());5.int->CStringcs.Format(_T("%d"),i);原创 2020-08-28 23:20:12 · 1080 阅读 · 0 评论 -
[c++]海量数据运行时提高程序运行效率、降低内存占用的方法
降低内存的占用1.慎用erase()昨天我运行了一个数据,在对字符串的处理时使用了迭代器来对string对象进行遍历,并用string.erase()进行字符串的裁剪。这种办法对于少量数据来说是完全没问题的,但是一到大量数据,就会提示内存不足,甚至电脑性能不高的话,主板会被烧坏。(别问我怎么知道的o( ̄︶ ̄)o)出现这种情况的原因是erase对字符串(数组同理)进行除后,迭代器指向的是被删除的元素的下一个,而被删除的元素虽然在字符串中消失了,但是它的地址没有被释放掉,出现了野指针和内存泄漏。(自己的拙原创 2020-08-27 19:13:58 · 3613 阅读 · 2 评论 -
【c++】使用Handle实现大文件的读取,需要了解的细节
【c++】大文件的读取string或者CString类型的文件路径要转化为LPCSTR型如何快速获取大文件的字节长度如何求结构体类型或其他类型的字节长函数功能、返回值意义详细说明(见注释)背景说明:想要读取二进制文件,该文件的字节数上亿。string或者CString类型的文件路径要转化为LPCSTR型LPCTSTR即const char :(1)当需要const char 而传入了CString时, C++编译器自动调用 CString重载的操作符 LPCTSTR()来进行隐式的类型转换。(2)原创 2020-08-27 18:22:22 · 1292 阅读 · 0 评论