> For the complete documentation index, see [llms.txt](https://mqjyl2012.gitbook.io/algorithm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mqjyl2012.gitbook.io/algorithm/c-cpp.md).

# C & C++

- [C语言](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c.md)
- [C/C++编译器](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c/cc++-bian-yi-qi.md)
- [宏的使用](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c/macro.md)
- [编译过程](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c/compile-process.md)
- [指针 & 数组](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c/pointer-array.md)
- [柔性数组](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c/flexible-array.md)
- [函数指针 & 回调函数](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c/function-pointer-callback-function.md)
- [C标准库之stdio](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c/clib-stdio.md)
- [C标准库之string](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c/clib-string.md)
- [C标准库之errno](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c/clib-errno.md)
- [C标准库之stdarg](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c/clib-stdarg.md)
- [C标准库之regex](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c/clib-regex.md)
- [C++基础语法](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax.md): c++基础语法复习，主要包括常考点、难点、易错点和重要特性。（基于C++11标准，涉及到C++14标准和C++17标准的新特性会说明）
- [自增(++) & 自减(--)](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/auto-increment-attenuation.md)
- [c语言到c++](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/c-cpp.md)
- [可变模板参数](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/variable-template-parameter.md)
- [强制类型转换](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/type-conversion.md)
- [C/C++类型转换的本质](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/nature-of-type-conversion.md)
- [指针 & 引用](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/pointers-and-references.md)
- [const的用法](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/keyword-const.md)
- [static的用法](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/keyword-static.md)
- [重要的关键字（一）](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/keywords-1.md)
- [重要的关键字（二）](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/keywords-2.md)
- [内存申请和释放](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/memory-request-and-release.md)
- [内联函数](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/inline-functions.md)
- [函数 & 运算符重载](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/operator-overloading.md)
- [面向对象之封装](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/oop-encapsulation.md)
- [构造函数 & 析构函数](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/constructor-destructor.md)
- [面向对象之继承](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/oop-inheritance.md)
- [面向对象之多态](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/oop-polymorphism.md)
- [泛型编程](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/generic-programming.md)
- [异常](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/exception.md)
- [再谈函数指针](https://mqjyl2012.gitbook.io/algorithm/c-cpp/c++-syntax/retalk-function-pointer.md)
- [C++并发编程](https://mqjyl2012.gitbook.io/algorithm/c-cpp/cpp-concurrent-programming.md)
- [C++的锁](https://mqjyl2012.gitbook.io/algorithm/c-cpp/cpp-concurrent-programming/locks.md)
- [并发与多线程](https://mqjyl2012.gitbook.io/algorithm/c-cpp/cpp-concurrent-programming/concurrency-and-multithreading.md)
- [C++高级特性](https://mqjyl2012.gitbook.io/algorithm/c-cpp/advanced-c++.md)
- [函数对象](https://mqjyl2012.gitbook.io/algorithm/c-cpp/advanced-c++/function-object.md)
- [移动语义 & 完美转发](https://mqjyl2012.gitbook.io/algorithm/c-cpp/advanced-c++/mobile-semantic-perfect-forward.md)
- [lambda表达式](https://mqjyl2012.gitbook.io/algorithm/c-cpp/advanced-c++/lambda.md)
- [RTTI技术](https://mqjyl2012.gitbook.io/algorithm/c-cpp/advanced-c++/rtti.md)
- [RAII技术](https://mqjyl2012.gitbook.io/algorithm/c-cpp/advanced-c++/raii.md)
- [智能指针](https://mqjyl2012.gitbook.io/algorithm/c-cpp/advanced-c++/smart-pointer.md)
- [模板的特化](https://mqjyl2012.gitbook.io/algorithm/c-cpp/advanced-c++/template-specialization.md)
- [C++静态库和动态库](https://mqjyl2012.gitbook.io/algorithm/c-cpp/advanced-c++/static-and-dynamic-libraries.md)
- [内存溢出和内存泄漏](https://mqjyl2012.gitbook.io/algorithm/c-cpp/advanced-c++/memory-overflow--and-leak.md)
- [STL基础](https://mqjyl2012.gitbook.io/algorithm/c-cpp/stl-basics.md): 对C++11标准下的STL的使用方法进行学习和总结。（涉及到C++14标准和C++17标准的新特性会说明）
- [String](https://mqjyl2012.gitbook.io/algorithm/c-cpp/stl-basics/string-class.md)
- [array/vector/list](https://mqjyl2012.gitbook.io/algorithm/c-cpp/stl-basics/array-vector-list.md): 总结 SGI STL 中的 vector 和 list 两个容器的用法。
- [deque/priority\_queue](https://mqjyl2012.gitbook.io/algorithm/c-cpp/stl-basics/deque-priority_queue.md): 总结 SGI STL 中的 deque、stack 和 queue 三个容器的用法。
- [set/map](https://mqjyl2012.gitbook.io/algorithm/c-cpp/stl-basics/set-map.md)
- [unordered\_set/unordered\_map](https://mqjyl2012.gitbook.io/algorithm/c-cpp/stl-basics/unordered_set-unordered_map.md)
- [algorithm\_1](https://mqjyl2012.gitbook.io/algorithm/c-cpp/stl-basics/algorithm-1.md)
- [functional](https://mqjyl2012.gitbook.io/algorithm/c-cpp/stl-basics/functional.md)
- [allocator](https://mqjyl2012.gitbook.io/algorithm/c-cpp/stl-basics/allocator.md)
- [C++标准库](https://mqjyl2012.gitbook.io/algorithm/c-cpp/cpp-standard-library.md)
- [IO](https://mqjyl2012.gitbook.io/algorithm/c-cpp/cpp-standard-library/cpp-io-library.md)
- [Tuple](https://mqjyl2012.gitbook.io/algorithm/c-cpp/cpp-standard-library/pair-tuple.md)
- [regex](https://mqjyl2012.gitbook.io/algorithm/c-cpp/cpp-standard-library/regex.md)
- [bitset](https://mqjyl2012.gitbook.io/algorithm/c-cpp/cpp-standard-library/bitset.md)
- [numeric](https://mqjyl2012.gitbook.io/algorithm/c-cpp/cpp-standard-library/numeric.md)
- [STL深入源码](https://mqjyl2012.gitbook.io/algorithm/c-cpp/stl-source-analysis.md)
- [vector内部实现](https://mqjyl2012.gitbook.io/algorithm/c-cpp/stl-source-analysis/vector-source-code.md)
- [deque内部实现](https://mqjyl2012.gitbook.io/algorithm/c-cpp/stl-source-analysis/deque-source-code.md)
- [sort函数实现](https://mqjyl2012.gitbook.io/algorithm/c-cpp/stl-source-analysis/sort-realization-mechanism.md)
- [第三方库](https://mqjyl2012.gitbook.io/algorithm/c-cpp/third-party-libraries.md)
- [JsonCpp](https://mqjyl2012.gitbook.io/algorithm/c-cpp/third-party-libraries/jsoncpp.md)
- [ProtoBuf](https://mqjyl2012.gitbook.io/algorithm/c-cpp/third-party-libraries/protobuf.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://mqjyl2012.gitbook.io/algorithm/c-cpp.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
