COM组件_2

COM组件_2

bingliaolong Windows 1年前 19 0

概述 Windows 的组件对象模型(Component Object Model,COM)是一种用于构建可重用软件组件的标准和技术 它允许软件组件以二进制形式进行互操作,独立于编程语言、开发工具和平台 COM 技术广泛应用于各种 Windows 应用程序和系统服务 包括 OLE...

Effective C++_第四篇

Effective C++_第四篇

bingliaolong C++ 2年前 8 0

34 区分接口继承和实现继承 概述 在C++的面向对象编程中,继承可以用于两种目的:接口继承和实现继承 理解并区分这两种继承方式有助于设计更清晰、可维护和灵活的类结构 接口继承 子类继承基类的接口,但可以重新定义(覆盖)基类的方法 接口继承通常用于定义类的行为约定,使得不同的子类...

C++17_第三篇

C++17_第三篇

bingliaolong C++ 2年前 13 0

结构化绑定 结构化绑定允许我们解构和绑定返回的元组、数组或结构体中的值,使得代码更加简洁和可读 嵌套命名空间 C++17 允许使用嵌套命名空间声明的简写方式,减少冗长的代码 std::filesystem 跨平台文件系统操作 std::variant std::variant 是...

C++_关于Invoke

C++_关于Invoke

bingliaolong C++ 5个月前 17 0

概述 C++17 引入的一个强大的函数调用工具,它提供了一种统一的方式来调用各种可调用对象 作用目标 普通函数 成员函数 成员变量 函数对象(包括 lambda) 任何重载了 operator() 的对象 为什么需要 std::invoke 在 C++17 之前,调用不同类型的可...

深入理解C++11:C++11新特性解析与应用 三

深入理解C++11:C++11新特性解析与应用 三

bingliaolong C++ 4年前 23 0

新的改变 nullptr 在C++11中,nullptr是一个所谓“指针空值类型”的常量。 nullptr类型数据所占用的内存空间大小和void*是相同的。 nullptr和(void*)0 前者是一个编译时期常量 后者只是一个强制转换表达式,返回的也是一个void*指针类型。 ...

STL_heap

STL_heap

bingliaolong C++ 6年前 23 0

简述 heap并不属于STL容器组件,它是priority queue的助手。 priority queue允许用户以任何次序将任何元素推入容器中,但取出时一定是从优先权最高的元素开始取。 binary heap是一种完全二叉树,即,整颗二叉树,除了最底层的叶子节点之外,是填满的...

C++并发编程 _ 无锁数据结构

C++并发编程 _ 无锁数据结构

bingliaolong C++ 2年前 14 0

自旋锁 用ATOMIC_FLAG_INIT进行了flag的初始化 它确保了flag的初始状态是清除(或说“未设置”)状态 lock调用了test_and_set方法来试图获取锁 test_and_set会检查flag的当前值:如果flag是清除状态,则设置它并返回false;如果...

C++_友元、联合体、内联、static、指针、深浅拷贝

C++_友元、联合体、内联、static、指针、深浅拷贝

bingliaolong C++ 2年前 7 0

友元类 适用情况 紧密协作: 当两个类需要紧密协作,且需要共享内部实现细节时 例如,操作类需要访问数据类的内部数据来实现复杂的功能 封装复杂操作: 当某些复杂操作不能或不应成为数据类的成员函数时 通过友元类可以将这些操作封装在独立的类中,从而简化数据类的设计 提高性能: 在某些情...

扫一扫二维码分享