# Category: C与C++

URL: https://wsj-blog.pages.dev/categories/C%E4%B8%8EC%2B%2B/

## 31 posts

- [C++综合实战：数据结构与算法实现及系列总结](https://wsj-blog.pages.dev/posts/c-zong-he-shi-zhan-shu-ju-jie-gou-yu-suan-fa-shi-xian-ji-xi.md): 阶段篇目核心内容入门1-5语法基础、控制流、函数、数组/指针、类初探进阶6-10类与对象、运算符重载、继承多态、内存管理、文件流STL11-15容器、迭代器、算法库、函数对象/Lambda、适配器模板…
- [C++综合实战：网络编程入门与HTTP客户端](https://wsj-blog.pages.dev/posts/c-zong-he-shi-zhan-wang-luo-bian-cheng-ru-men-yu-http-ke-hu.md): Socket 基础（客户端/服务器模型与 TCP 通信四步）、HTTP 协议（请求/响应格式、方法、状态码）、迷你 HTTP 客户端（构造 GET 请求、解析响应头与…
- [C++综合实战：面向对象图书管理系统](https://wsj-blog.pages.dev/posts/c-zong-he-shi-zhan-mian-xiang-dui-xiang-tu-shu-guan-li-xi.md): 本篇用图书管理系统BookReader类的封装（数据 + 行为）、EBook派生类的继承与多态（virtual 重写）、Library管理类的STL 容器（vector +…
- [C++工程化：编译链接、调试与性能优化](https://wsj-blog.pages.dev/posts/c-gong-cheng-hua-bian-yi-lian-jie-tiao-shi-yu-xing-neng-you.md): 四阶段编译链接（预处理/编译/汇编/链接）与常见错误排查、GDB 调试（断点/单步/打印变量/调用栈）、内存检测（ASan 与 Valgrind…
- [C++工程化：CMake构建与多文件项目管理](https://wsj-blog.pages.dev/posts/c-gong-cheng-hua-cmake-gou-jian-yu-duo-wen-jian-xiang-mu.md): 本篇讲解了 C++ 工程化核心的CMake 构建系统：最小项目与构建流程、多文件项目的目录组织与静态库与动态库的构建与选型（含对比表）、条件编译/option/查找与自动拉取依赖（find\_packa…
- [C++并发编程：异步任务与线程池实战](https://wsj-blog.pages.dev/posts/c-bing-fa-bian-cheng-yi-bu-ren-wu-yu-xian-cheng-chi-shi-zhan.md): 一行启动异步任务并获取结果（含异常传递与 wait\_for 超时）、手动生产-消费单次结果、把任务与 future 打包、线程池的核心实现（条件变量任务队列 + packaged\_task 封装 +…
- [C++并发编程：条件变量与原子操作](https://wsj-blog.pages.dev/posts/c-bing-fa-bian-cheng-tiao-jian-bian-liang-yu-yuan-zi-cao-zuo.md): 实现阻塞等待与通知（含谓词重载防虚假唤醒）、生产者消费者模型的完整实现、atomic 原子类型（fetch\_add/CAS…
- [C++并发编程：线程与互斥锁](https://wsj-blog.pages.dev/posts/c-bing-fa-bian-cheng-xian-cheng-yu-hu-chi-suo.md): 的创建/join/detach 与参数传递、数据竞争的危害、std::mutex与 RAII 封装（lock\_guard / unique\_lock /…
- [C++20新特性精讲：概念、范围与三路比较](https://wsj-blog.pages.dev/posts/c-20-xin-te-xing-jing-jiang-gai-nian-fan-wei-yu-san-lu-bi.md): concepts让模板约束可读、可复用；ranges以惰性视图与管道风格重构数据流；三路比较一次操作自动生成全套比较运算符；协程与模块开启语言新范式；std::span与constexpr扩展让代码更…
- [C++17新特性精讲：结构化绑定、if constexpr与实用类型](https://wsj-blog.pages.dev/posts/c-17-xin-te-xing-jing-jiang-jie-gou-hua-bang-ding-if.md): 本篇讲解了 if/switch 初始化语句、结构化绑定、if constexpr 编译期分支、std::optional/variant/any 三种实用类型、string\_view…
- [C++11/14新特性精讲：移动语义与智能指针实战](https://wsj-blog.pages.dev/posts/c-11-14-xin-te-xing-jing-jiang-yi-dong-yu-yi-yu-zhi-neng.md): 内容是关于C++现代特性：左值右值、移动语义、=default/=delete等。需概括核心。确保字数。</think>本文介绍C++现代特性：五类值分类与右值引用生命周期延长…
- [C++模板教程：类型推导与完美转发](https://wsj-blog.pages.dev/posts/c-mu-ban-jiao-cheng-lei-xing-tui-dao-yu-wan-mei-zhuan-fa.md): 完美转发是保留参数左右值属性// 接收函数：区分左值右值cout << "左值处理: " << value << endl;cout << "右值处理: " << value << endl;//…
- [C++模板教程：变参模板、折叠表达式与SFINAE](https://wsj-blog.pages.dev/posts/c-mu-ban-jiao-cheng-bian-can-mu-ban-zhe-die-biao-da-shi-yu.md): 变参模板（Variadic Templates）允许模板接受任意数量的参数// 参数包：typename... ArgsArgs...是类型参数包。args...是函数参数包。获取参数个数…
- [C++模板教程：特化、偏特化与类型萃取](https://wsj-blog.pages.dev/posts/c-mu-ban-jiao-cheng-te-hua-pian-te-hua-yu-lei-xing-cui-qu.md): 模板是「通用配方」，但某些特殊类型需要专门的实现。// 通用模板：处理一般类型a : b;// 全特化：为特定类型定制（如 const char\* 比较字符串而非指针）a : b;类型萃取（Type…
- [C++模板教程：函数模板与类模板入门](https://wsj-blog.pages.dev/posts/c-mu-ban-jiao-cheng-han-shu-mu-ban-yu-lei-mu-ban-ru-men.md): 普通函数精确匹配优先于模板。模板可以匹配任何类型3. 用<>可以强制调用模板版本。public:// 类外定义：需要重复 template 前缀// 类外定义：需要重复 template…
- [C++STL教程：容器适配器与实用工具](https://wsj-blog.pages.dev/posts/c-stl-jiao-cheng-rong-qi-shi-pei-qi-yu-shi-yong-gong-ju.md): 容器适配器是基于其他容器包装出的受限接口适配器底层容器（默认）特性stackdeque后进先出 LIFOqueuedeque先进先出 FIFOvector按优先级出队// 病情严重程度//…
- [C++STL教程：函数对象与Lambda表达式](https://wsj-blog.pages.dev/posts/c-stl-jiao-cheng-han-shu-dui-xiang-yu-lambda-biao-da-shi.md): 函数对象（Functor）是重载了operator()的类对象，可以像函数一样调用。与普通函数相比，它可以保存状态。// 函数对象：重载 operator()private:int base;//…
- [C++STL教程：迭代器与算法库](https://wsj-blog.pages.dev/posts/c-stl-jiao-cheng-die-dai-qi-yu-suan-fa-ku.md): 迭代器是统一访问容器元素的接口，让算法不关心容器类型。可以把迭代器理解为「智能指针」，支持->++--等操作。int score;// 默认升序// 降序int());//…
- [C++STL教程：关联容器与无序容器](https://wsj-blog.pages.dev/posts/c-stl-jiao-cheng-guan-lian-rong-qi-yu-wu-xu-rong-qi.md): int age;// 自定义比较器（按年龄排序）people.insert({"张三", 30});people.insert({"李四", 25});people.insert({"王五",…
- [C++STL教程：容器总览与序列容器](https://wsj-blog.pages.dev/posts/c-stl-jiao-cheng-rong-qi-zong-lan-yu-xu-lie-rong-qi.md): STL（Standard Template Library，标准模板库）是 C++ 标准库的核心，由容器、迭代器、算法、函数对象、适配器五大部分组成。它把「数据存储」与「数据处理」解耦，实现高效复用…
- [C++进阶教程：文件流与字符串流](https://wsj-blog.pages.dev/posts/c-jin-jie-jiao-cheng-wen-jian-liu-yu-zi-fu-chuan-liu.md): 1.3 读取文件1.4 打开模式| 模式 | 含义 || — | — | — || | 读模式（ifstream 默认） || | 写模式（ofstream 默认，截断） || | 追加（不截断）…
- [C++进阶教程：动态内存管理与智能指针](https://wsj-blog.pages.dev/posts/c-jin-jie-jiao-cheng-dong-tai-nei-cun-guan-li-yu-zhi-neng.md): RAII（Resource Acquisition Is Initialization，资源获取即初始化）：把资源（内存、文件、锁）的获取放在构造函数中，释放放在析构函数中…
- [C++进阶教程：继承与多态](https://wsj-blog.pages.dev/posts/c-jin-jie-jiao-cheng-ji-cheng-yu-duo-tai.md): 多态（Polymorphism）指同一个调用在不同对象上表现出不同行为。通过基类指针/引用调用虚函数，实际执行的是派生类的实现。多态三要素基类中定义虚函数。派生类重写虚函数。通过基类指针/引用调用…
- [C++进阶教程：运算符重载与类型转换](https://wsj-blog.pages.dev/posts/c-jin-jie-jiao-cheng-yun-suan-fu-zhong-zai-yu-lei-xing.md): 运算符重载是让==<<等运算符可以作用于自定义类型，使代码更自然、更直观。例如c1 + c2让复数相加，直接打印对象…
- [C++进阶教程：类与对象深入](https://wsj-blog.pages.dev/posts/c-jin-jie-jiao-cheng-lei-yu-dui-xiang-shen-ru.md): 本篇深入讲解了构造函数的种类与初始化列表、构造析构顺序、深拷贝与浅拷贝的区别及三法则、static 成员、const 成员函数、this 指针和友元，并用完整 String 类串联实战…
- [C++入门教程：结构体、枚举与类初探](https://wsj-blog.pages.dev/posts/c-ru-men-jiao-cheng-jie-gou-ti-mei-ju-yu-lei-chu-tan.md): 结构体是不同类型数据的集合// 定义学生结构体int age;// 定义并初始化Student s1;// 默认构造s1.name = "张三";// 列表初始化（C++11）Student s2…
- [C++入门教程：数组、字符串与指针入门](https://wsj-blog.pages.dev/posts/c-ru-men-jiao-cheng-shu-zu-zi-fu-chuan-yu-zhi-zhen-ru-men.md): 本文是C++系列教程的第4篇，重点讲解数组、字符串和指针的核心概念。主要内容包括：1) 一维/多维数组的声明、初始化和遍历，强调数组越界的危险性；2)…
- [C++入门教程：函数与作用域详解](https://wsj-blog.pages.dev/posts/c-ru-men-jiao-cheng-han-shu-yu-zuo-yong-yu-xiang-jie.md): / 函数定义：返回类型 函数名(参数列表) { 函数体 }// 无返回值函数// 调用无参函数// 调用带参函数，接收返回值return 0;当函数定义在使用之后时，需要先声明//…
- [C++入门教程：运算符、表达式与控制流程](https://wsj-blog.pages.dev/posts/c-ru-men-jiao-cheng-yun-suan-fu-biao-da-shi-yu-kong-zhi-liu.md): 本文是C++系列教程第二篇，重点讲解运算符、表达式和程序控制结构。主要内容包括： 运算符详解：分类介绍算术/关系/逻辑/位运算等8类运算符，特别说明整数除法截断、自增自减顺序、短路求值特性…
- [C语言入门教程：从零开始学C语言编程](https://wsj-blog.pages.dev/posts/c-yu-yan-ru-men-jiao-cheng-cong-ling-kai-shi-xue-c-yu-yan.md): 本篇介绍了 C 语言的环境搭建、基础语法、运算符、条件循环，并用猜数字游戏串联实战。下一篇将深入讲解 C 语言的精髓——指针与内存管理，敬请期待！
- [C++入门教程：从零开始学C++编程](https://wsj-blog.pages.dev/posts/c-ru-men-jiao-cheng-cong-ling-kai-shi-xue-c-bian-cheng.md): 本文是C++入门教程的第一篇，主要介绍了C++的基本概念、开发环境搭建、基础语法和实战练习…
