news 2026/4/5 16:23:29

1.22 - 字符串转换整数 new和malloc的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1.22 - 字符串转换整数 new和malloc的区别

目录

1.字符串转换整数

a.核心思想

b.思路

c.步骤

2.new和malloc的区别


1.字符串转换整数

8. 字符串转换整数 (atoi) - 力扣(LeetCode)https://leetcode.cn/problems/string-to-integer-atoi/submissions/693360753/

class Solution { public: int myAtoi(string s) { int i = 0; // 跳过前导空格 while (i < s.size() && s[i] == ' ') { i++; } if (i == s.size()) return 0; // 确定符号 int sign = 1; if (s[i] == '-') { sign = -1; i++; } else if (s[i] == '+') { i++; } // 转换数字 long long result = 0; while (i < s.size() && isdigit(s[i])) { result = result * 10 + (s[i] - '0'); // 检查溢出 if (result * sign > INT_MAX) return INT_MAX; if (result * sign < INT_MIN) return INT_MIN; i++; } return (int)(result * sign); } };

a.核心思想

通过遍历字符串,按照给定的规则逐步解析字符串中的数字字符,将其转换为对应的整数,同时处理符号和溢出情况。

b.思路

① 去除字符串前导空格。

② 确定符号。

③ 遍历字符串,将数字字符转换为数字,直到遇到非数字字符或字符串结束。

④ 检查整数是否溢出,若溢出则进行截断处理。

c.步骤

① 使用指针或索引遍历字符串,跳过前导空格。

② 检查并记录符号。

③ 循环读取数字字符,将其转换为数字并累加到结果中。

④ 在每次累加后检查是否溢出,若溢出则根据符号进行截断。

⑤ 返回最终结果。

2.new和malloc的区别

new

malloc

本质

C++ 的运算符,属于语言内置特性。

C 标准库函数,属于运行时库的一部分。

内存分配和初始化

new会自动调用构造函数初始化对象。

malloc仅分配未初始化的内存,不会调用构造函数。

内存释放

new对应deletedelete会调用对象的析构函数。

malloc对应freefree不会调用析构函数。

参数与返回值

new不需要指定内存大小,返回对应类型的指针。

malloc需要显式指定字节数,返回void*,需强制类型转换。

失败处理

new默认抛出std::bad_alloc异常(可改为返回nullptr)。

malloc失败时返回NULL(或nullptr)。

重载与自定义

new/delete可以被重载,允许自定义内存分配行为。

malloc/free不可重载。

总结

  • C++ 优先用new/delete,因为它们与对象生命周期(构造/析构)无缝集成。

  • malloc/free适用于 C 或需要直接操作内存的场景(如底层开发)。

希望这些内容对大家有所帮助!

感谢大家的三连支持!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/14 2:14:44

微信聊天记录备份完全指南:告别丢失焦虑,轻松实现永久保存

微信聊天记录备份完全指南&#xff1a;告别丢失焦虑&#xff0c;轻松实现永久保存 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Tr…

作者头像 李华
网站建设 2026/3/27 14:35:56

PyTorch-2.x降本增效实战:预装环境节省90%配置时间成本

PyTorch-2.x降本增效实战&#xff1a;预装环境节省90%配置时间成本 1. 引言&#xff1a;为什么我们需要一个“开箱即用”的PyTorch开发环境&#xff1f; 你有没有经历过这样的场景&#xff1f; 刚拿到一块新GPU服务器&#xff0c;满心欢喜准备开始训练模型&#xff0c;结果一…

作者头像 李华
网站建设 2026/4/5 6:27:21

GPT-OSS-Safeguard 20B:AI安全推理轻量神器

GPT-OSS-Safeguard 20B&#xff1a;AI安全推理轻量神器 【免费下载链接】gpt-oss-safeguard-20b 项目地址: https://ai.gitcode.com/hf_mirrors/openai/gpt-oss-safeguard-20b 导语&#xff1a;OpenAI推出轻量化安全推理模型GPT-OSS-Safeguard 20B&#xff0c;以210亿参…

作者头像 李华
网站建设 2026/4/5 14:13:49

8步极速文生图:Qwen-Image-Lightning实战解密与性能优化指南

8步极速文生图&#xff1a;Qwen-Image-Lightning实战解密与性能优化指南 【免费下载链接】Qwen-Image-Lightning 项目地址: https://ai.gitcode.com/hf_mirrors/lightx2v/Qwen-Image-Lightning 如何让AI绘画速度提升12倍&#xff1f;揭秘Qwen-Image-Lightning的技术突破…

作者头像 李华
网站建设 2026/4/5 1:52:42

BERT vs ERNIE填空任务对比:开源模型精度实测教程

BERT vs ERNIE填空任务对比&#xff1a;开源模型精度实测教程 1. 什么是智能语义填空&#xff1f;为什么它不是简单猜字游戏 你有没有试过读一句话&#xff0c;突然卡在某个词上&#xff0c;明明上下文都清楚&#xff0c;就差那一个字——比如“画龙点睛”的“睛”&#xff0…

作者头像 李华
网站建设 2026/3/28 5:49:13

8步出图!移动端也能跑的AI绘画黑科技

8步出图&#xff01;移动端也能跑的AI绘画黑科技 【免费下载链接】Qwen-Image-Lightning 项目地址: https://ai.gitcode.com/hf_mirrors/lightx2v/Qwen-Image-Lightning 你是否遇到过AI绘图等待太久的问题&#xff1f;普通模型生成一张图要等上几分钟&#xff0c;显存占…

作者头像 李华