C++专栏
文章平均质量分 68
C++帮助新手快速入门和查找
Doctor-Dragon
这个作者很懒,什么都没留下…
展开
-
探秘C++中的Placement New:深度解析与常规new的对比
为C++开发者提供了在特定内存地址构造对象的能力,与常规new相比,它虽需手动管理内存生命周期,但却赋予了内存使用的高度灵活性和性能优化空间。在内存敏感或追求极致性能的场景,如内存池实现、硬件交互中,成为不可或缺的工具,通过直接在预分配内存上创建对象,有效规避了频繁内存分配的开销与碎片化问题,展现了其在特定应用中的独特价值。原创 2024-05-04 17:00:49 · 2073 阅读 · 1 评论 -
安全地管理C++中的内存 —— 删除null指针的考量与实践
引言C++标准对删除null指针的规定安全实践:为什么删除null指针是合理的智能指针与手动管理的对比结论。原创 2024-05-02 15:44:26 · 1429 阅读 · 2 评论 -
C语言数组越界访问导致的死循环问题
在C语言中,数组越界的行为是未定义的(Undefined Behavior, UB),意味着编译器不必对此类错误进行检查,且实际发生什么取决于编译器、运行时环境等因素。在某些情况下,程序可能会恰好在数组的末尾之后有一些未使用或可写的内存,此时对a[N]的写入可能不会立即导致程序崩溃。但是,这也可能导致覆盖掉紧随数组之后的内存区域的数据,如果那个区域存储的是循环控制变量(在这个例子中是i),则可能会无意中修改循环条件,从而导致死循环。在C语言编程中,要时刻注意数组的索引范围,避免出现越界访问的问题。原创 2024-04-30 10:24:37 · 165 阅读 · 0 评论 -
链表、指针技巧与良好品味
引言代码示例CS101版本一个更优雅的解决方案它是如何工作的整合头指针维护一个句柄更进一步在现有项前插入快速重构实现`insert_before()`函数结论。原创 2024-03-03 09:43:00 · 777 阅读 · 2 评论 -
C和CPP函数
函数的返回值(int void …)函数的名字(函数的形参列表);{函数的执行体}void表示函数没有返回值,或者没有形参return表达式 的含义1.终止被调用的函数,向主函数返回一个值(需要输出)。2.如果表达式为空,则只终止函数。不向被调函数返回任何值。函数返回值类型也称为函数的类型,return返回的值无论如何,只会返回函数类型的值。3.break 是用来终止循环和switch的,return 是用来终止函数的。例如void f()return;原创 2023-09-08 16:29:44 · 139 阅读 · 0 评论 -
VS的警告_CRT_SECURE_NO_WARNINGS
在使用 Visual Studio 进行 C/C++ 开发时,调用不安全的函数可能会引发内存泄漏等问题。为了解决这一问题,建议使用带 `_s` 后缀的安全函数,如 `strcpy_s`、`strcat_s` 等。然而,如果想继续使用不安全函数,有两种方法可以忽略 `_CRT_SECURE_NO_WARNINGS` 警告:在代码文件开头添加宏定义 `_CRT_SECURE_NO_WARNINGS`,或通过 Visual Studio 的属性设置中添加预处理器定义 `_CRT_SECURE_NO_WARNING原创 2023-06-02 12:49:37 · 8022 阅读 · 8 评论 -
C语言存储类型
本文主要介绍了 C 语言中的 const、static、extern、register 和 volatile 关键字的使用方法和作用,以及在实际编程中的应用场景。其中 const 表示只读的变量,static 表示生命周期设置到程序结束,extern 扩展全局变量作用域,register 让变量存储在寄存器中,而 volatile 主要是与编译器优化有关。同时,该文还介绍了 auto 在 C++11 中的使用方法,以及在 C 语言中一般指代非静态局部变量。原创 2023-05-20 23:44:40 · 101 阅读 · 0 评论 -
C语言时间函数
主要的结构体如下。// 秒 - [0, 60] including leap secondint tm_min;// 分钟 - [0, 59]// 时 - [0, 23]// 日期 - [1, 31]int tm_mon;// 月份从0开始 - [0, 11]// 当前时间减去1900// 星期 - [0, 6]// 从1月1号开始的日期 - [0, 365]// 夏令时时间两个简单的类型定义time_t。原创 2022-10-22 14:16:57 · 403 阅读 · 1 评论 -
c++algorithm
C++ algorithm用法详解原创 2022-07-23 20:21:52 · 1188 阅读 · 0 评论