
编译器扩展语法:一
Gcc 和 Clang __attribute__ ((__visibility__("hidden"))) 用于设置符号的可见性(visibility)属性 __visibility__("default") 默认可见性,符号在链接过程中...
Gcc 和 Clang __attribute__ ((__visibility__("hidden"))) 用于设置符号的可见性(visibility)属性 __visibility__("default") 默认可见性,符号在链接过程中...
6大组件 容器 vector list deque set map 从实现的角度,STL容器是class template 算法 sort search copy ... 从实现的角度,STL算法是function template 迭代器 容器与算法之间的“胶合剂” 所谓的“泛...
常用特殊 静态类型动态类型 主要区别在于对类型进行检查的时间点。 对于所谓的静态类型,类型检查主要发生在编译阶段。 对于动态类型,类型检查主要发生在运行阶段(和类型推导相关)。 auto auto声明变量的类型必须由编译器在编译时期推导而得。 auto声明的变量必须被初始化,以使...
概述 适配容器是一个封装了序列容器的类模板,它在一般序列容器的基础上提供了一些不同的功能。 stack<T> 是一个封装了deque<T>容器的适配器类模板,默认实现是一个后入先出的压入栈 queue<T> 是一个封装了deque<T>容器的适...
WTL下载 WTL WTL 基础概念 定位与优势 基于 ATL 的扩展库,专注于高效 Win32 GUI 开发,无 MFC 的臃肿 优势 模板驱动:零成本抽象,代码体积小 兼容 Win32 API:直接操作窗口句柄,灵活性高。 现代 C++ 风格:支持 RAII、模板元编程 WT...
thread相关 创建线程 使用 std::thread 构造函数创建线程,需传递一个可调用对象(函数、Lambda、函数对象等) 可调用对象 普通函数(函数指针) 函数对象(仿函数,Functor) 定义一个重载了 operator() 的类: lambda表达式 直接在线程构...
使用介绍 默认的 创建一个多线程日志记录器 创建的日志记录器是多线程的,这意味着它可以被多个线程同时使用,而不会发生竞争条件或数据损坏 用于创建多线程的循环日志记录器 循环日志记录器是指在达到指定大小后,会自动循环覆盖旧的日志文件并创建新的日志文件来存储日志消息 循环日志记录器还...
ATL线程模型和套间 概述 在 COM 开发中,线程模式(Threading Model) 和 套间(Apartment) 是确保组件在多线程环境下安全运行的核心机制 ATL(Active Template Library)通过模板类(如 CComObjectRootEx)和线程...
12 复制对象的所有部分 概述 在C++中,实现拷贝构造函数和赋值运算符时,确保复制对象的所有成员变量是至关重要的 忽略某些成员变量可能会导致不完整或错误的对象状态,进而引发难以追踪的错误 为什么要复制对象的所有部分 保持对象的一致性: 所有成员变量都应该在拷贝时保持一致,以确保...
消息通讯 真窗口 ::SendMessage SOUI控件 在SOUI中可以使用SWindow::SSendMessage来向一个目标窗口发送一个消息来通讯,但不支持PostMessage,目标窗口在SOUI窗口的消息映射表中响应发送过来的消息。 SOUI事件机制 每一个事件对应...
搜索当前标签