排序
C++智能指针原理及使用场景
std::shared_ptr: 原理:std::shared_ptr是基于引用计数的智能指针,用于管理动态分配的对象。它维护一个引用计数,当计数为零时,释放对象的内存。 使用场景:适用于多个智能指针需要共享同一...
STL的容器和特点
序列容器 std::vector:动态数组,支持快速的随机访问和尾部插入/删除操作,适合用于需要动态大小的数组情况。 std::deque:双端队列,支持快速的头尾插入/删除操作,适合用于需要在两端进行插...
野指针和空悬指针的区别
野指针: 定义:野指针是指已经指向了某块内存的指针,但是该内存区域已经被释放或者不再有效,但指针本身仍然保留该地址。 产生原因: 使用 delete 或 free 释放了指针指向的内存后,但忘记将...
C语言深度解析:Static关键字的作用及应用示例
在C语言中,static是一个非常重要的关键字,它具有多种用途和含义,但其核心作用是改变变量或函数的可见性和生命周期。 本文将详细解析static关键字的不同作用和用法。 1. static在函数内部的作...
C++什么时候会出现越界访问的情况
C++ 中越界访问是一种程序错误,它可能导致程序崩溃、未定义行为或者产生不可预测的结果。 越界访问通常发生在数组、指针、容器等数据结构的操作中。 可能导致越界访问的情况: 1.数组越界:访...