上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 33 下一页
摘要: 重载、重写和隐藏 这是 C++ 面试和实际开发中常见但容易混淆的三个概念:函数重载(Overload)、函数重写(Override)、函数隐藏(Hide)。 特性 重载 Overload 重写 Override 隐藏 Hiding 发生位置 同一个类中 派生类中 派生类中 条件 函数名相同,参数列表 阅读全文
posted @ 2025-05-26 20:45 _Sylvan 阅读(33) 评论(0) 推荐(0)
摘要: C++ 面向对象三大特性 C++ 中的面向对象三大特性是:封装(Encapsulation)、继承(Inheritance)、多态(Polymorphism)。这三者构成了面向对象编程(OOP)的核心理念。 封装(Encapsulation) 封装是将数据和操作数据的函数绑定在一起,并对外部隐藏实现 阅读全文
posted @ 2025-05-26 20:30 _Sylvan 阅读(121) 评论(0) 推荐(0)
摘要: mutable 关键字 在 C++ 中,mutable 是一个类型修饰符,允许类的成员变量在 const 对象 或 const 成员函数 中被修改。 用途:修改内部缓存、统计访问次数等,但不改变类的逻辑状态(logical constness)。 原因:const 成员函数保证对象逻辑上不变,但 m 阅读全文
posted @ 2025-05-26 20:16 _Sylvan 阅读(86) 评论(0) 推荐(0)
摘要: C++ 链接属性 C++ 中的链接属性(Linkage)是指名字(如变量名、函数名)在多个翻译单元中的可见性与共享性,是理解头文件引用规则、多文件编译、extern/static关键字作用的基础。 链接属性分类 C++中,名字有三种链接属性: 链接属性 含义说明 示例 无链接(no linkage) 阅读全文
posted @ 2025-05-26 19:59 _Sylvan 阅读(58) 评论(0) 推荐(0)
摘要: extern 关键字 在 C++ 中,extern 是一个关键字,用来 声明 一个变量或函数是在其他文件(或作用域)中定义的,从而允许在多个文件中共享变量或函数定义。extern 主要用于 跨文件访问变量或函数,是实现多文件模块化编程的常用手段。 详细用法解析 用于变量 // file1.cpp i 阅读全文
posted @ 2025-05-26 19:39 _Sylvan 阅读(61) 评论(0) 推荐(0)
摘要: explicit 关键字 explicit 是 C++ 中的一个关键字,用于修饰 只能通过显式方式调用的构造函数或转换函数。它的主要作用是防止隐式类型转换带来的错误或歧义。 主要用于: 构造函数(特别是单参数构造函数) 类型转换函数(如 operator T()) 为什么需要 explicit? C 阅读全文
posted @ 2025-05-26 18:28 _Sylvan 阅读(190) 评论(0) 推荐(1)
摘要: volatile 关键字 volatile 是 C++ 中一个关键的类型修饰符,用于提示编译器不要对被修饰的变量进行优化,因为这个变量可能会被以编译器看不到的方式修改(比如:硬件、中断服务程序、其他线程等)。 volatile int x; 意思是 x 的值可能在程序的控制之外被改变,所以每次访问它 阅读全文
posted @ 2025-05-26 02:56 _Sylvan 阅读(50) 评论(0) 推荐(0)
摘要: sizeof 与 strlen sizeof:编译时操作符 用于获取类型或对象在内存中所占的字节数。 sizeof(类型名) // 获取某个类型的字节大小 sizeof(变量名) // 获取某个对象(变量、数组等)的大小 是 编译时决定 的操作,结果是一个 constexpr。 返回值类型是 siz 阅读全文
posted @ 2025-05-25 23:33 _Sylvan 阅读(12) 评论(0) 推荐(0)
摘要: 内存对齐 内存对齐是一种硬件约定与编译器优化策略:要求数据在内存中的起始地址满足某个特定的对齐边界(通常是数据类型大小或其倍数的整数倍)。 为什么需要内存对齐 硬件访问限制与效率 不同平台对内存访问有不同要求: 平台 对未对齐访问的处理方式 x86(Intel) 可以访问未对齐地址,但效率低 ARM 阅读全文
posted @ 2025-05-25 23:19 _Sylvan 阅读(73) 评论(0) 推荐(0)
摘要: IOC IOC(Inversion of Control,控制反转)是软件设计中的一种思想,不是某种具体语法,它的核心理念是:“谁控制谁?谁依赖谁?”的主客关系被反转了。 通俗理解 传统编程中,程序流程由开发者控制,例如: // 程序控制流程 DBConnection conn; conn.open 阅读全文
posted @ 2025-05-25 02:03 _Sylvan 阅读(29) 评论(0) 推荐(0)
摘要: C++ Lambda C++ 的 Lambda 表达式(lambda expression)是一种轻量级函数对象,可以在需要函数对象的地方(如算法或回调)快速定义匿名函数。它在 C++11 中引入,后续版本也有增强(如 C++14、C++17、C++20)。 [capture](parameters 阅读全文
posted @ 2025-05-25 01:27 _Sylvan 阅读(43) 评论(0) 推荐(0)
摘要: C++ 可调用对象与 function 可调用对象 在 C++ 中,可调用对象(Callable Object)是指可以像函数一样使用圆括号 () 进行调用的对象。C++ 支持多种形式的可调用对象,不只是普通函数。 obj(args...); // ← 这就是“可调用” 例如: func(1, 2) 阅读全文
posted @ 2025-05-25 01:26 _Sylvan 阅读(69) 评论(0) 推荐(0)
摘要: C++ 回调函数 C++ 中的回调函数(Callback Function)是一种把函数当作参数传递给另一个函数,并在特定时机调用它的机制。 #include <iostream> void onEvent() { std::cout << "Event triggered!" << std::en 阅读全文
posted @ 2025-05-25 01:22 _Sylvan 阅读(46) 评论(0) 推荐(0)
摘要: C++ 函数对象 函数对象(仿函数) 函数对象(仿函数)(Function Object,Functors)其实就是重载了 operator() 的类或结构体的实例。 它表现得像函数一样,可以用 () 括号调用,但本质是一个对象,可以有成员变量和状态。 优点是它可以存储状态,比如调用时用到的参数、计 阅读全文
posted @ 2025-05-25 01:19 _Sylvan 阅读(36) 评论(0) 推荐(0)
摘要: C++多线程基础 1. 多线程基础 多线程是指一个程序中同时运行多个执行流(线程),能够充分利用多核CPU,提高程序并发性和效率。C++11 标准引入了官方的多线程支持,主要在 <thread>, <mutex>, <condition_variable> 等头文件中提供相关API。 2. 主要类和 阅读全文
posted @ 2025-05-24 13:24 _Sylvan 阅读(28) 评论(0) 推荐(0)
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 33 下一页