logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C++高频知识点(六)malloc/free和new/delete区别?在C++程序中调用被C语言修饰的函数,为什么要加extern “C”?内存泄漏?野指针?内联函数?什么时候要用虚析构函数

本文摘要总结了C++编程中的几个关键知识点: malloc/free与new/delete的区别:前者是C语言库函数,后者是C++运算符;new/delete会自动调用构造函数/析构函数,而malloc/free仅管理内存。 extern "C"的作用:用于在C++中调用C函数,防止名称修饰(name mangling)导致链接错误,确保兼容性。 内存问题:内存泄漏(未释放动态

文章图片
#经验分享#开发语言
C++高频知识点(八)

纯虚函数是没有具体实现的虚函数,在基类中声明,但在派生类中必须被实现。它的语法是在函数声明末尾加上 = 0。public:// 纯虚函数。

文章图片
#开发语言#经验分享
C++高频知识点(九)

根据返回值优化的原理,编译器可能会直接将这个对象构造在 main() 函数中的 obj 变量所在的空间中,而不需要额外的拷贝构造函数调用。在上述示例中,Stack 是一个模板类,可以用于存储不同类型的元素,如整数和字符串,同时保持相同的堆栈操作接口。:子类可以继承父类的静态成员(也就是说可用,但不算继承),但不能直接继承父类的静态成员函数或静态成员变量。

文章图片
#开发语言#经验分享
C++高频知识点(十三)vector内存扩展问题、单例模式,懒汉模式/饿汉模式,及线程安全问题、工厂模式及简单工厂模式、类成员函数后加const,有什么作用?指针和引用的区别

本文摘要: 【61】vector内存扩展问题:通过示例代码展示std::vector的动态扩容机制,其容量按倍数增长(如1→2→4→8),并配图说明内存变化过程。 【62】单例模式详解: 懒汉模式:首次调用时创建实例(需加锁保证线程安全),提供非安全版、互斥锁版和双重检查锁定版实现 饿汉模式:类加载时即初始化实例 C++11推荐使用局部静态变量实现线程安全单例 【63】工厂模式: 简单工厂模式:通

文章图片
#开发语言#经验分享#设计模式 +2
C++高频知识点(十一)

红黑树是一种自平衡二叉搜索树,它在插入和删除操作后通过重新着色和旋转保持平衡。红黑树的每个节点都包含一个额外的颜色属性,可以是红色或黑色。红黑树的性质确保了树的高度保持在 O(log n) 级别,从而使基本操作(插入、删除和查找)的时间复杂度维持在O(log n)。这些性质确保了红黑树是接近平衡的,从而保证了其操作的高效性。NIL节点(或者称为哨兵节点)是一个特殊的节点,用于表示树的终端(叶子)节

文章图片
#经验分享#开发语言
C++高频知识点(十二)

本文介绍了五个C++相关的重要知识点:1) I帧/P帧/B帧的视频压缩原理,2) C与C++在编程范式、特性支持等方面的核心区别,3) 空类默认生成的构造函数、拷贝控制等成员函数,4) STL标准模板库的容器、迭代器和算法三大组件,5) auto和decltype在类型推导机制上的差异。通过代码示例具体演示了空类默认函数的使用场景,以及decltype对引用和const属性的保留特性。文章内容涵盖

文章图片
#开发语言#经验分享
C++高频知识点(十)

野指针(Dangling Pointer)是指那些指向已经释放或未分配内存的指针。使用野指针会导致未定义行为,包括程序崩溃、数据损坏等严重问题。以下是关于野指针的详细说明。野指针的成因这种性质使得在BST中查找、插入和删除元素非常高效,平均时间复杂度为 O(log n)。使用BST实现字符串的前缀树,用于自动补全和拼写检查。!!

文章图片
#开发语言#经验分享
C++高频知识点(十四)

本文摘要: 多线程应用场景:多线程适合CPU密集型或I/O密集型任务,能提升并发性能;单线程适合简单任务或避免线程切换开销的场景。 死锁及避免:死锁由循环等待等条件引发,可通过统一锁顺序、超时机制或资源预分配预防,示例代码展示了死锁场景及改进方法。 TCP拥塞控制:通过慢启动、拥塞避免、快速重传和快速恢复四阶段动态调整传输速率,平衡效率和网络稳定性。 C++内存管理:基于RAII机制,通过智能指针

文章图片
#开发语言#经验分享
C++高频知识点(十五)C++11、14、17有哪些特性、谈谈 Linux中进程间的通信方式?vector迭代器什么时候会失效,将导致什么后果?说说析构函数的执行顺序,构造函数的执行顺序?模板的偏特化

C++11/14/17核心特性摘要: C++14引入模板变量,如pi<double>实现类型安全的常量定义。C++17主要特性包括:1.结构化绑定(auto [x,y,z])简化元组解构;2.if/switch支持初始化语句(if(int x=42;x>0))限定变量作用域;3.折叠表达式(args+...)简化参数包运算;4.std::optional提供类型安全的可选值容器;

文章图片
#经验分享
C++设计模式单例模式(饿汉、懒汉模式)

对饿汉式单例类对象的使用,应该在程序入口函数开始执行后,例如main主函数开始执行后。

文章图片
#设计模式#经验分享#单例模式 +1
    共 96 条
  • 1
  • 2
  • 3
  • 10
  • 请选择