自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(524)
  • 资源 (49)
  • 问答 (8)
  • 收藏
  • 关注

原创 Snipaste 截图工具

Snipaste是一款以“贴图”为核心,兼具像素级精准截图、专业标注与极致轻量的全能生产力神器。它的核心优势可以总结为以下三点:独创“贴图”功能:能将截图或文本一键钉在屏幕最前端,支持缩放、透明和鼠标穿透,是代码比对、多任务办公的“物理外挂”。像素级精准与丰富标注:自动吸附 UI 元素边界,告别截图错位;内置箭头、马赛克、取色等全套专业编辑工具,无需切换其他软件。极致轻量纯净:绿色免安装,后台几乎零资源占用,且完全免费、无广告、无捆绑,带来极致流畅的体验。

2026-06-12 10:38:54 544

原创 code review agent

code review agent solution

2026-05-28 11:06:31 498

原创 liburing 总结: 用户态库 · 深度解析

liburing三个 syscall 的薄 wrapper)—— §17.3。固定不变的模板代码:mmap 三块共享内存、计算所有指针偏移、release/acquire 屏障 —— §17.2 + §17.4 + §17.5。每一个的 SQE 填充模板:102 个,让你不必直接动 64 字节裸结构体 —— §17.15。常见组合的便利函数cqe_seen... —— 散落在 §17.6–§17.14。它不引入任何运行时行为、状态机或线程模型。

2026-05-14 16:21:10 604

原创 io_uring

了解io_uring,可以看看如下link文章:https://blog.csdn.net/LAN_chen_ning/article/details/159965083https://cloud.tencent.com/developer/article/2651888

2026-05-14 14:46:33 110

原创 C++函数重载

上下文示例1变量声明初始化2赋值表达式p = fun;3函数实参4return 语句return fun;5用户自定义 operator6强制类型转换7成员函数指针 ⚠️&Foo::mf(必须加普通函数取地址可省(函数到指针的隐式转换),但类成员函数取地址不能省略——这是 C++ 标准的明确要求,也是本题的核心考点。

2026-04-29 17:00:46 410

原创 自定义 range-for

Iter把 range-for 的展开再贴一遍:for (;__begin!= __end;__begin!= __end→ 必须有operator!(对应 C)++__begin→ 必须有operator++(对应 B,前缀版本)*__begin→ 必须有operator*(对应 A)至于:这个赋值发生在循环变量(如)上,由元素类型 T 的拷贝/转换负责,与完全无关。所以 D 是干扰项。容器层:提供begin()和end()。迭代器层:返回的对象必须支持++!。

2026-04-28 11:17:43 260

原创 operator new 和 placement new

不能重载 new/delete 表达式本身——你只能改变其中"分配/释放内存"那一步,不能改变 new 表达式"先分配再构造、delete 表达式"先析构再释放"这一固定语义。+ 构造函数"这个分解,几乎所有 C++ 动态内存的"奇怪行为"都会变得自然——包括 placement new、零长数组、自定义分配器、内存池,乃至。// 2) 在已分配内存上构造对象(这一步才是 placement new)// 4) 显式调用析构函数(关键:placement new 没分配内存,

2026-04-28 11:06:33 421

原创 operator type() 转换函数(Type Conversion Operator)

/ 输出 0,不是 silver!// 输出 silver。// 显式转换(C++11)if (m == 0) { /* 你以为比较 Money,实际比较 double */ }// 隐式转换(C++98)// 隐式调用 operator double()// = a = (b = c);3 * 5 / 4 // = (3*5)/4 = 3 (左结合)std::cout << b;// 编译错误:二义性。if (sp) { /* OK:上下文转换 */ }-++i // = -(++i) (右结合)

2026-04-28 10:06:50 349

原创 thread_local介绍

thread_local 的本质:只规定 生命周期 = 线程生命周期,不限制地址被传到其他线程使用,但跨线程使用 TLS 地址非常危险(生命周期未对齐 → UB)

2026-04-27 15:50:11 292

原创 全局变量初始化与销毁

B globalB;globalA和globalB谁先构造是未定义的——这就是著名的 Static Initialization Order Fiasco (SIOF)。如果B的构造函数依赖A已经构造好,就会踩坑。

2026-04-27 15:41:14 321

原创 bool值不等于0都是true

赋值给 bool 时,非 0 都会转成 true

2026-04-27 15:23:30 63

原创 std::shared_ptr的别名构造函数

Aliasing constructor 的本质:让一个 shared_ptr "搭便车"延长另一个对象的生命周期,同时对外暴露不同的指针视图。

2026-04-27 15:14:33 240

原创 当 使用 Pimpl 方式 时,在 实现文件 中定义特殊成员函数

~Widget() 确实必须放到看到完整 Impl 定义的地方去生成。因为 std::unique_ptr<Impl> 销毁时会走 default_delete<Impl>,而 delete Impl* 需要 Impl 是完整类型。

2026-04-27 14:40:26 351

原创 Python

Python 3 教程

2026-04-23 10:16:42 53

原创 QUIC协议

QUIC协议

2026-04-23 10:10:12 61

原创 std::includes std::search std::find std::mismatch

是 C++ 标准库中的一个算法,用于检查一个已排序的范围是否包含另一个已排序的范围。

2026-04-23 10:05:32 411

原创 Linux 下使用 GDB 调试 C++ 的全面总结

linux c++ gnb 调试

2026-04-22 14:56:43 397

原创 12.1 函数上移

重复的两个函数现在也许能够正常工作,但假以时日却只会成为滋生bug的温床。无论何时,只要系统内出现重复,你就会面临“修改其中一个却未能修改另一个”的风险。通常,找出重复也有一定的难度。检查两个类的函数时我发现,两个函数都引用了monthlyCost属性,但后者并未在超类中定义,而是在两个子类中各自定义了一份实现。如果某个函数在各个子类中的函数体都相同(它们很可能是通过复制粘贴得到的),这就是最显而易见的函数上移适用场合。然后,我从其中一个子类中将annualCost函数复制到超类。

2026-04-22 09:30:35 36

原创 11.3 移除标记参数

如果调用者传入的是程序中流动的数据,这样的参数不算标记参数;如果一个函数有多个标记参数,可能就不得不将其保留,否则我就得针对各个参数的各种取值的所有组合情况提供明确函数。拿到一份API以后,我首先看到的是一系列可供调用的函数,但标记参数却隐藏了函数调用中存在的差异性。保持对象完整经常发生在引入参数对象(140)之后,我会搜寻使用原来的数据泥团的代码,代之以使用新的对象。如果我看见代码从一个记录结构中导出几个值,然后又把这几个值一起传递给一个函数,我会更愿意把整个记录传给这个函数,在函数体内部导出所需的值。

2026-04-22 09:25:01 187

原创 10.1 分解条件表达式

我必须编写代码来检查不同的条件分支,根据不同的条件做不同的事,然后,我很快就会得到一个相当长的函数。大型函数本身就会使代码的。,根据每个小块代码的用途,为分解而得的新函数命名,并将原函数中对应的代码改为调用新函数,从而。提炼完成后,我喜欢用三元运算符重新安排条件语。和任何大块头代码一样,我可以将它。

2026-04-22 09:18:36 353

原创 vector<shared_ptr> vs shared_ptr<vector>

shared_ptr<vector<T>>:“整张表作为一个整体被共享”,紧凑、缓存友好,是性能敏感场景的优化形态;把一个元素“借给”外部长期持有比较别扭,需要用 shared_ptr<vector<T>> + 下标,或者再做一层 aliasing shared_ptr。支持多态:可以存派生类(vector<shared_ptr<Base>> 存 shared_ptr<Derived>)。vector<shared_ptr<T>>:“每个元素单独被共享”,安全、灵活、能多态,是默认选择。

2026-04-21 16:35:22 402

原创 const_cast 运算符详解与未定义行为深度分析

/ ❌ 未定义行为// 声明为const*pj = 4;// 未定义行为!// 关键证据:打印地址std::cout << "=== 地址验证 ===" << std::endl;std::cout << "j 的地址: " << &j << std::endl;std::cout << "pj 的值: " << pj << std::endl;std::cout << "\n=== 值的对比 ===" << std::endl;// 输出: 3// 输出: 4。

2026-04-21 15:53:21 245

原创 std::ranges::all_of, std::ranges::any_of, std::ranges::none_of

std::all_of: true(“所有元素都满足”在逻辑上是空集的真命题,称为真空真理 / vacuous truth)all_of 返回 true 不代表“真的有满足的元素”,只表示没有发现不满足的元素。如果语义上你需要“至少一个满足”,应使用 any_of 而不是 all_of。std::any_of: false(没有元素可以使谓词为 true)std::none_of: true(没有元素违反“都不是”这一条件)any_of 做“存在”判断,空集不存在满足者 → false。

2025-10-28 14:04:31 364

原创 Google 是如何做 Code Review 的?

作者 | 帅昕 xindoo责编 | 屠敏出品 | CSDN 博客我和几个小伙伴一起翻译了Google前一段时间放出来的Google’s Engineering Practices documentation(https://github.com/google/eng-practices),翻译后的GitHub仓库:https://github.com/xindoo/eng-pract...

2025-08-04 17:12:46 1171

原创 std::ranges::iota

你可以使用生成enumchar, 或int value;// 构造函数// operator++ (前置递增)++value;// 比较运算符return!int main()要求类型支持operator++(即满足特性描述惰性生成元素按需生成,不占用内存无限或有限序列可以无限增长,也可以指定边界类型支持任何可自增类型,如整数、枚举、时间点常与配合限制无限序列长度范围特性支持 forward range,支持迭代算法形式描述无限递增从 5 开始。

2025-05-19 15:39:54 1575

原创 std::ranges::views::drop 和 std::ranges::drop_view

和是 C++20 引入的范围适配器,用于创建一个跳过前 N 个元素的新视图。

2025-05-19 15:17:55 1047

原创 std::ranges::views::stride 和 std::ranges::stride_view

是 C++23 中引入的一个范围适配器,用于创建一个视图,该视图只包含原始范围中每隔 N 个元素的元素(即步长为 N 的元素)。

2025-05-19 15:10:34 1134

原创 std::ranges::views::zip, zip_transform 和 std::ranges::zip_view, zip_transform_view

和是 C++23 中引入的用于将多个范围组合成一个元组序列的视图适配器。在标头<ranges>定义requires (inline constexpr /* 未指明 */ zip = /* 未指明 */;调用签名requires /* 见下文 */1)zip_view是范围适配器,接收一或多个并产生一个,其第i个元素是所有视图的第i个元素组成的元组式值。所产生视图的大小为所有适配视图的最小大小。2)views::zip是定制点对象。无实参调用时 views::zip()于 auto(<>>)。

2025-05-19 11:30:52 1058

原创 std::ranges::views::repeat, std::ranges::repeat_view

是 C++20 引入的一个范围适配器,用于生成一个无限序列,其中所有元素都是同一个值的重复。是其对应的范围适配器对象。

2025-05-19 11:27:09 332

原创 std::ranges::views::as_const 和 std::ranges::as_const_view

是 C++23 引入的视图适配器,用于生成一个不可变的视图,确保通过该视图访问元素时,元素被视为常量。inline constexpr /* 未指明 */ as_const = /* 未指明 */;提供了一种类型安全的方式,确保通过视图访问的元素不可修改。适用于需要强制数据只读性的场景,增强代码安全性和可维护性。与标准算法和其他视图适配器无缝结合,支持复杂的链式操作。生成一个惰性视图,不复制数据,仅在访问时应用常量性。若元素可修改,通过视图访问时变为。仅修改类型系统,运行时无性能损失。对象,表示只读视图。

2025-05-19 11:10:04 585

原创 ranges::views::adjacent_transform, ranges::adjacent_transform_view, ranges::views::pairwise_transfor

constexpr /* 未指明 */ adjacent_transform = /* 未指明 */;constexpr /*范围适配器闭包*/ adjacent_transform<N>( F&& fun );是 C++23 中引入的范围适配器,用于对输入范围的相邻元素应用函数并生成转换后的结果。个相邻元素作为参数传递给函数,生成转换后的结果视图。个参数,类型与输入元素的(可能投影后的)类型匹配。的扩展,结合了滑动窗口和惰性变换的功能。大于输入范围的大小,生成的视图为空。的别名,专门处理相邻的两个元素。

2025-05-19 11:05:20 761

原创 std::ranges::views::adjacent, std::ranges::adjacent_view, std::ranges::views::pairwise

是 C++23 中引入的范围适配器,用于生成输入范围中相邻元素的元组。它们提供了一种简洁的方式处理滑动窗口操作,适用于需要连续元素组合的场景。constexpr /* 未指明 */ adjacent = /* 未指明 */;元组的生成是惰性的,遍历时按需生成,时间复杂度为 O(n)。作为惰性视图,适用于大规模数据处理,避免不必要的内存开销。生成的元组是连续且重叠的(滑动步长为1),而。的别名,生成相邻两个元素的元组(即。大于输入范围长度,生成的视图为空。对象,表示相邻元素的元组视图。

2025-05-19 10:57:58 698

原创 std::ranges::find_last, std::ranges::find_last_if, std::ranges::find_last_if_not

的元素。它们返回一个子范围(

2025-05-19 10:52:23 761

原创 std::ranges::views::chunk, std::ranges::chunk_view, std::ranges::views::chunk_by, std::ranges::chunk

是一个强大的范围适配器,特别适合需要基于相邻元素关系对序列进行分组的场景。它提供了一种声明式的方式来处理这类问题,使代码更加简洁和表达性强。<ranges>

2025-05-19 10:48:15 1163

原创 std::ranges::starts_with 和 std::ranges::ends_with

int age;// 示例4:自定义比较(不区分大小写)// true// 示例5:投影使用people,{}, // 默认比较&Person::name // 投影到 Person::name// true。

2025-05-19 10:33:38 988

原创 flat_map, flat_set, flat_multimap, flat_multimap

性能:xhttps://zhuanlan.zhihu.com/p/661418250。

2025-05-18 17:46:42 1319

原创 std::stacktrace

是 C++23 引入的标准库组件,用于在运行时捕获、存储和操作调用栈信息。它类似于其他语言(如 Python 的traceback或 Java 的)的堆栈跟踪功能,帮助开发者调试或记录程序执行路径。

2025-05-18 09:42:59 528

原创 C++20 小语法

对于严格的C++ 编译器来说,以前在这种情境下int无法向下转换为bool,需要手动强制转换,这个提案允许在static_assert和if constexpr中从整形转换为布尔类型。C++23 这一情况得到了改善。以下表格就可以表示所有内容。

2025-04-28 22:22:02 548

原创 auto(x) decay copy

元素和欲移除元素,若不相等,则用当前元素覆盖当前__result 迭代器的值,然后__result 向后移一位。std::remove() 最终调用的是remove_if(),因此关键就在这个算法里面。请注意该程序的输出,是否如你所想的一样。foo() 中调用bar(),希望传递一份param 的拷贝,则我们需要单独多声明一个临时变量。而auto{x} 和auto(x),就相当于这个copy() 函数,只不过它是内建到语言里面的而已。然而这种方式是非常反直觉的,一般来说这两种写法的效果应该是等价的。

2025-04-28 22:20:46 431

原创 std::print 和 std::println

std::print和是 C++23 新增的格式化输出函数,旨在替代传统的std::cout链式调用。它们基于实现,支持类型安全的格式化字符串,语法更简洁,性能更优15。直接输出到stdout(默认)或指定的流。自动在输出末尾添加换行符。支持与相同的格式化语法(如{}占位符)。

2025-04-28 22:02:20 2013

Linux网络编程TCP/IP UDP

Linux网络编程,专门讲网络的,讲得很详细,一步一步的讲,学一遍就会了

2011-05-15

驱动开发流程源码

嵌入式驱动开发,通过一个简单的实例来描述整个流程,有实例的源代码。看上去一目了然。

2012-04-15

\Linux内核机制之等待队列

\Linux内核机制之等待队列,消息讲述了wait_queue队列的数据结构和在内核中的实现源码,有助于对如何使用队列更加一目了然。

2012-03-19

DHCPV6 ipv6

动态主机分配协议(Dynamic Host Configuration Protocol)DHCP ipv6 dhcpv6

2012-08-29

epoll使用方法

epoll函数在server端和client端的使用方法

2013-06-27

软件专业各大公司面试题目

各大公司的面试题目及部分答案,有智力题和逻辑推理题等好几种类型的题目。

2010-03-14

Huffman编码 C语言版

Huffman编码 纯C语言 实验 里面有详细的不走和代码的注释,对Huffman的原理和用途等都有一定的讲解。

2011-10-05

链表的基本操作

单链表和双向链表的一些操作,包括创建、增加节点、删除节点、单链表逆置、合并有序链表等。

2013-06-27

华为C语言编程面试题

华为C语言面试题 是一些面试题目 各公司也会经常考的笔试题

2014-01-05

毕业设计论文:电子信息管理系统

本文分析了信息系统前台开发工具与后台数据库技术, JSP技术通过将Java代码嵌入到HTML代码中实现,并且JSP以Java servlet为基础,具备简单易用,完全面向对象,与平台无关,安全可靠,主要面向Internet等特点;SQL语言集DDL,DML,DCL的功能于一体,具有统一的语言风格,高度非过程化,面向集合操作,一种语法提供两种使用模式等一些特点,而 Microsoft SQL Server 2000以SQL语言为基础,是属于服务器级别的数据库,足以应付每天成千上万的访问。

2010-04-24

STL源码V3.3

stl sgi版本 V3.3,里面还有文档说明。

2014-04-15

多岔路口交通灯c语言版多岔路口交通灯和家谱图

多岔路口交通灯和家谱图的程序,都是c语言的。交通灯是任意条数的,家谱图数多茶树的,而且还有配偶,可以任意查询家谱中的人

2008-09-18

total commander

total commander 中文版 一、Total Commander本身是一个非常优秀的软件,值得软件爱好者关注。   二、了解Total Commander的发展历史、功能定位、开发方向,可以让用户建立正确的软件价值观,从而有助于对其他软件更深刻(而不是肤浅的)评价和认识。   三、Total Commander是一个会显著提高文件操作效率的工具,而文件操作是应用计算机最基本的功夫,也是伴随一生的操作。因此花一点时间学习,而会受益一世。   四、TC的入门有一定难度,掌握TC后,会让自己在软件应用方面的能力和悟性上一个台阶。

2012-03-29

gvim编辑器 加强版vim

Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。Vim的第一个版本由Bram Moolenaar在1991年发布。最初的简称是Vi IMitation ,随着功能的不断增加,正式名称改成了Vi IMproved。现在是在开放源代码方式下发行的慈善软件。   Vim是Linux上著名的文本编辑器,他是早年的Vi编辑器的加强版。gVim是Vim的图形前端,它是跨平台的编辑器,基本上主流的操作系统上面都有它的版本。这是一个国际版本,会根据安装的平台自动选择相应语言包,支持中文及其各种编码,连界面也是中文的,请放心使用。这个极具Unix特色和风格(simple is the best)的编辑器相信会给您带来不同的感受。   在Linux Mint 12软件管理器中, gvim被叫做vim-gnome。

2012-04-15

Unix网络编程实用技术与实例分析

本书详细介绍了unix环境下网络编程的方法,全书分为四部分:第一部分“网络基础”,尤其是tcp ip 协议族和编程相关的部分;第二部分“套接字”是网络编程的核心,讲解了套接字库函数、tcp套接字,udp套接字的实例;第三部分“unix网络编程使用技术”是本书的重点,如并发服务器技术、名字和IP地址转换、同步及进程间通信技术、异常处理技术、实用套接字类库的创建等,第四部分“高级网络编程”。

2011-11-06

dhcp技术原理和格式

dhcp 技术详解 原理 包的格式 ipv6

2012-08-30

calculator

这是一个用C语言编写的四则混合运算计算器,可以计算带有括号的表达式。

2008-12-11

多功能的数字时钟课程设计报告包括有相应的图

一、显示时分秒,分秒为60进制,时为24进制 二、校时、校分 三=定时,定分 四、整点报时

2008-09-18

网络程序设计(精简版ppt)

网络程序设计03网络程序设计网络程序设计0303

2011-08-24

linux 网络变成 和c的编程

有好几个关于linux c变成 和linux 网络变成的文件,而且内容也很经典

2011-03-05

华为SCTP协议

华为写的SCTP协议的pdf格式文档,文档有目录,讲解的一目了然。对于新手很快就能理解。

2015-02-01

RFC5415(中文)无线AP控制和配置CAPWAP协议标准-书签整齐版

RFC5415(中文)无线AP控制和配置CAPWAP协议标准,自己手动添加了书签很整齐。

2015-09-18

C++11新标准-中文版.rar

这是维基百科中对C+11新标准的描述中文版,非扫描版。希望对学习C++11的学子们有帮助。如有侵权请删除之。

2019-11-12

xmlview 阅读工具

xmlview是一款不错的xml阅读工具,节点更具有层次性的视图比浏览器更专业。

2015-07-03

slickedit2014 V19

本人亲测win32、win64和linux64可用,linux32还没有测试。 slickedit强大的跨平台,支持超过40种编程语言的代码编辑器。支持AIX、HP-UX、 Linux 32-bit、Linux 64-bit、 Mac OS X、Solaris SPARC、Solaris x86、windows 32-bit、windows 64-bit这些操作系统。还可以用来代码调试,支持远程调试,调试起来比linux下gdb要更直观。

2015-02-01

source insight插件 siplus

sourceInsight的一个插件,可以显示使用的的文件标签,而且界面也很好看。下载了好几个,就这个比较好。

2015-07-03

Source Insight 4.0.0082破解文件注册码lic下载

Source Insight 4.0.0082破解文件 替换lic 更新版本支持中文。

2017-02-23

slickedit 2016(v21) pro crack 破解

slickedit 2016 v21 pro破解版 操作步骤: 1. 选择对应的版本 2. 点Patch 选择文件 3. 点Generate Linux Mac 等平台的bin文件拷贝到windows底下patch。

2016-11-25

LTE信令完整流程讲解

lte的NAS RRC S1-AP等信令的完整流程介绍

2015-02-12

TD-LTE数字蜂窝移动通信网 Uu接口

TD-LTE数字蜂窝移动通信网 Uu接口层 协议 中文版

2015-02-11

LTE数字蜂窝移动通信网 S1接口技术要求(第一阶段) 第3部分:信令传输

LTE通信标准 中文 s1接口 信令传输

2015-02-11

中国移动WLAN AC-AP接口互通规范-基本协议分册 V1.0.6

中国移动WLAN AC-AP接口互通规范-基本协议分册 V1.0.6

2015-09-18

C++14新标准-中文版.rar

这是维基百科中对C+14新标准的描述中文版,非扫描版。希望对学习C++14的学子们有帮助。如有侵权请删除之。

2019-11-12

LTE数字蜂窝移动通信网 X2接口技术要求(第一阶段)

LTE数字蜂窝移动通信网 X2接口技术要求(第一阶段) 中文版

2015-02-11

LTE数字蜂窝移动通信网 S1接口技术要求(第一阶段) 第5部分:数据传输

LTE数字蜂窝移动通信网 S1接口技术要求(第一阶段) 第5部分:数据传输 中文版

2015-02-11

sourceinsight4.0.0098.rar

source insight 4.0.0098 于6月24号在官网已经发布了,在win64上亲测可用

2019-07-03

sourceinsight4.0.0085

最新的sourceinsight4.0.0085和谐license及和谐文件。真正的4.085版本,2017年4月5发布的,以前的序列号都不能用了,用这个方法和谐,使用附件中的license文件,替换sourceinsight.exe

2017-04-10

winscp上传工具

winscp是一款不错的windox和linux之间上传和下载文件的工具,使用起来也很方便。

2015-07-03

xshell V4.0

Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。

2015-07-08

C++ Concurrency_In_Action c++11多线程编程

C++ Concurrency_In_Action,c++11多线程编程中文版+英文版+源码,中文版的字体大小一致很整洁,不是那本有的字体大有的字体小的那本。

2017-03-01

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除