logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C++11引入的新关键字decltype

decltype 是 C++11 引入的类型推导关键字,核心作用是依据指定。

文章图片
#c++#开发语言
C++11引入的列表初始化

列表初始化,就是使用一对花括号来初始化对象的一种语法,旨在为各种类型的初始化提供一种统一的语法。

文章图片
#c++#开发语言
C++11的基于范围的for循环

优先使用避免不必要的拷贝修改元素时使用auto&避免在循环中修改容器结构注意临时对象的生命周期复杂类型使用 auto 简化代码。

文章图片
#c++#开发语言
C++11所支持的线程库

C++11 之前,在 C++ 中进行多线程编程通常需要依赖平台特定的库,如 Windows 下的 Windows API,Linux 下的线程库(pthread)。不同平台的接口差异很大,代码移植性差。C++11 引入了<thread>等相关头文件组成的线程库。

文章图片
#c++#开发语言
C++11的智能指针

为什么需要智能指针:在传统的C++中,程序员一般都使用new和delete来手动管理内存,这就带来了① 忘记delete:在分配内存后,由于复杂的程序逻辑或者异常而忘记delete,那么这块内存在程序结束前都无法被释放② 异常:如果程序在new和delete之间抛出了异常,delete语句可能不会执行其核心思想:就是将一个原生指针封装在一个智能指针对象当中,而当该对象离开作用域时,它的析构函数会自

文章图片
#c++#开发语言
C++11新特性之——constexpr

仅能修饰成员函数,表示 “不修改对象状态”):无没有“编译期计算” 能力,只能在运行时调用。是 C++11 给 “编译期” 加的 “计算权限”—— 让变量 或者 函数能在编译时 “干活”,而不是等程序run起来才开始。用它修饰的变量或者函数,可以在编译阶段计算出结果,而不是在运行时,既保证了常量的正确性,又提升了程序效率。并且constexpr。函数,既可以像普通函数在运行时调用,也能在编译期被

文章图片
#c++#开发语言
C++多态——编译时多态和运行时多态

在程序运行时才确定具体调用哪个函数的机制,因此也称为 “晚绑定”。特性编译时多态(静态绑定)运行时多态(动态绑定)确定调用时机编译阶段运行阶段实现方式函数重载、运算符重载、模板虚函数 + 继承底层机制编译器直接匹配函数地址虚函数表(Vtable)+ 虚表指针(vptr)适用场景同一功能的不同参数 / 类型版本同一接口的不同实现(多态行为)效率高(无运行时开销)略低(额外指针寻址)扩展性差(新增类型

文章图片
#c++#开发语言
C++内存管理——malloc/free和new/delete

C++ 提供了多种内存管理方式,包括传统的 C 风格的 malloc和 free,以及 C++ 专用的 new和 delete。理解这些内存管理方法对于编写高效、安全的 C++ 程序至关重要。一、了解内存分区自动管理内存内存分配和释放速度快,但空间有限动态分配与释放灵活但易出错(如内存泄漏、悬挂指针)。程序启动时分配,程序结束时释放static存储常量,不可修改,程序结束时释放存储程序的二进制指令

文章图片
#c++#开发语言
C++的四种类型转换

✨为什么需要四种类型转换?在 C 语言中,我们使用 Type b = (Type)a来进行所有的类型转换,也就是万物皆可转。所以C++ 引入了四种命名的转换运算符,让转换的,让编译器能进行,从而提升代码的安全性和可维护性。✨一、 静态转换(static_cast):编译期的 “安全” 转换用于编译器可验证的、低风险的类型转换,仅仅在编译期检查合法性,不涉及运行时开销适用场景广,但需要精准把控边界。

文章图片
#c++#开发语言
C++泛型编程——模板

C++ 模板是泛型编程的核心机制,它允许开发者编写与具体类型无关的代码,通过 “参数化类型” 实现代码的复用。模板不是直接编译执行的代码,而是编译器生成具体代码的 “蓝图”,编译器会根据实际传入的类型参数自动生成对应版本的函数或类。下面从其底层原理、分类、特性以及高级用法来进行讲解:💫一、模板的核心是 “类型参数化”,也就是把代码中具体的类型(比如intdouble)抽象为一个 “类型变量”(通

文章图片
#c++#开发语言
    共 16 条
  • 1
  • 2
  • 请选择