Última actualización:2026-10-12
Resumen del proyecto¶
1. Introducción al proyecto¶
- Nombre en chino: C++那些事
- Nombre en inglés: Stories About C Plus Plus or CPlusPlusThings
C++ 那些事 es un proyecto de aprendizaje de código abierto dirigido tanto a principiantes como a desarrolladores de nivel intermedio en C++. Su objetivo es ayudar a los estudiantes a progresar desde los fundamentos de C++ hasta los temas avanzados, abarcando desde la sintaxis básica, la programación orientada a objetos, la programación con plantillas y el uso de la STL, hasta la concurrencia multihilo, la gestión de memoria y la optimización del rendimiento. Además, el proyecto analiza en profundidad el código fuente de varias bibliotecas y frameworks clásicos de código abierto, ayudando a los desarrolladores a comprender mejor cómo se aplica C++ en proyectos reales.
2. Objetivos del proyecto¶
- De principiante a avanzado: ofrece a quienes empiezan una ruta de aprendizaje sistemática que los lleva paso a paso desde cero hasta dominar los conceptos centrales y las características avanzadas de C++.
- Preparación para entrevistas: ofrece el análisis y la práctica de preguntas habituales en entrevistas de C++, ayudando a los candidatos a destacar en las mismas.
- Análisis del código fuente: mediante el análisis del código fuente de proyectos clásicos de código abierto, ayuda a los desarrolladores a comprender en profundidad los patrones de diseño y los principios de implementación de C++.
- Multihilo y concurrencia: explora en profundidad la programación multihilo y el control de la concurrencia en C++, ayudando a los desarrolladores a escribir programas concurrentes eficientes y seguros.
- Optimización del rendimiento: presenta técnicas de optimización del rendimiento en C++, ayudando a los desarrolladores a escribir código eficiente.
3. Contenido del proyecto¶
El proyecto C++ 那些事 tiene un contenido muy amplio que cubre todos los aspectos de C++, organizado principalmente en los siguientes módulos:
-
Fundamentos y nivel avanzado
- Palabras clave y características: explicaciones detalladas de palabras clave como
const,static,this,inline,sizeof,virtual,volatile,explicit,friend,using,::,enumydecltype. - Funciones y punteros: punteros a funciones, funciones virtuales puras y clases abstractas,
vptr_vtable, etc. - Estructuras de datos:
struct,union, campos de bits, la diferencia entre referencias y punteros, etc. - Polimorfismo de C++ implementado en C: implementación de las características de polimorfismo de C++ en el lenguaje C.
- Macros y aserciones: definición y uso de macros, y casos de uso de
assert.
- Palabras clave y características: explicaciones detalladas de palabras clave como
-
Serie práctica
- Práctica intensiva de 10 días: mejora rápidamente tus habilidades de programación en C++ con diez días de ejercicios intensivos.
- Ejercicios prácticos clave: práctica dirigida a los puntos clave y difíciles de C++ para consolidar lo aprendido.
-
Análisis del código fuente de la STL
- Contenedores: análisis del código fuente de contenedores como
array,deque,queue,stack,list,vector,rb_tree,set,multiset,map,multimap,hashtableyunordered_map. - Iteradores y rasgos:
iterator,traits,typename, etc. - Optimización EBO: la técnica de optimización de clase base vacía (EBO) utilizada en el diseño de la STL.
- Contenedores: análisis del código fuente de contenedores como
-
Nuevas características de C++2.0
- Características de C++11: deducción automática de tipos, expresiones lambda, referencias rvalue, punteros inteligentes, etc.; véase también el tema dedicado a C++11 de este sitio.
- C++17 / C++20: el tema dedicado a C++17 y el tema dedicado a C++20.
-
Temas ampliados
- Profundización en los mecanismos del lenguaje: mutable, toda la familia de const, ABI, recursión en cola, etc. (véase la navegación «Fundamentos y nivel avanzado → Profundización en los mecanismos del lenguaje»).
- Memoria y depuración, evaluación de rendimiento, proyectos prácticos, lecturas y consejos: secciones independientes de la navegación, con artículos prácticos sobre AddressSanitizer, Benchmark, pybind11, gRPC, etc.
-
Patrones de diseño
- Patrones de diseño comunes: cómo se aplican en C++ patrones clásicos como Singleton, Factory y Observer.
-
Programación concurrente
- Multihilo y multiproceso: técnicas de programación multihilo como
std::thread,std::async,std::mutexystd::condition_variable. - C++ Concurrency in Action: una exploración en profundidad de los modelos de programación concurrente y su práctica en C++.
- Multihilo y multiproceso: técnicas de programación multihilo como
-
Modismos de C++
- Estilo de programación y modismos: explora los estilos y modismos comunes de programación en C++, ayudando a los desarrolladores a escribir código más elegante.
-
Cursos de aprendizaje
- «C++ moderno en la práctica: 30 lecciones» de GeekTime: un recurso de aprendizaje recomendado para estudiar el C++ moderno de forma sistemática.
-
Herramientas
- Herramientas de depuración e impresión: uso de herramientas de depuración como
dbg-macroyrr. - Utilidades para imprimir contenedores: herramientas que simplifican la impresión de contenedores.
- Observar el proceso de compilación: observar cómo cambia el código C++ durante el proceso de compilación con ayuda de herramientas.
- Herramientas de depuración e impresión: uso de herramientas de depuración como
4. Características del proyecto¶
- Ruta de aprendizaje sistemática: el contenido progresa gradualmente desde los fundamentos hasta los temas avanzados, adecuado para estudiantes de distintos niveles.
- Teoría combinada con la práctica: además de explicaciones teóricas, incluye numerosos ejemplos de código y proyectos prácticos.
- Análisis profundo del código fuente: mediante el análisis del código fuente de proyectos clásicos de código abierto, ayuda a los desarrolladores a comprender en profundidad el diseño y la implementación de C++.
- Multihilo y concurrencia: un análisis en profundidad de la programación concurrente en C++, que ayuda a los desarrolladores a escribir programas concurrentes eficientes y seguros.
- Orientado a las entrevistas: proporciona el análisis de preguntas habituales en entrevistas, ayudando a los candidatos a prepararse mejor.
5. Recursos del proyecto¶
- Sitio web de aprendizaje en línea: C++那些事
- Cuenta oficial de WeChat: 光城
- Vídeos en Bilibili: 未来的光城; el contenido del proyecto también se publica en Bilibili en formato de vídeo, para que resulte cómodo de ver para los estudiantes.
6. Formas de participar¶
C++那些事 es un proyecto de código abierto al que los desarrolladores están invitados a contribuir. Puedes participar de las siguientes maneras:
- Star y Fork: si el proyecto te resulta útil, te invitamos a darle Star y Fork en GitHub.
- Enviar PR: si tienes buen contenido o sugerencias de mejora, no dudes en enviar un Pull Request.
- Comentarios y sugerencias: si encuentras problemas durante el uso o tienes cualquier sugerencia, plantéalos en la sección de Issues del proyecto.
7. Plan de futuro del proyecto¶
- Ampliar los temas avanzados: como las nuevas características de C++20, la metaprogramación o el cálculo en tiempo de compilación.
- Añadir más proyectos prácticos: más proyectos prácticos para ayudar a los desarrolladores a aplicar lo aprendido en el desarrollo real.
- Construcción de la comunidad: crear una comunidad más activa y fomentar el intercambio y el compartir entre desarrolladores.
8. Palabras finales¶
C++那些事 es un proyecto de código abierto dedicado a ayudar a los estudiantes de C++ a pasar de principiantes a avanzados. Tanto si eres un principiante como un desarrollador con cierta experiencia, aquí encontrarás recursos de aprendizaje adecuados para ti. Esperamos que, gracias a este proyecto, más personas lleguen a dominar C++ y lo utilicen con soltura en el desarrollo real.
¡Te invitamos a dar Star, Fork y enviar PR para impulsar juntos el desarrollo de la comunidad de C++!
9. Sobre el autor¶
-
WeChat: busca
gcxzhang -
Cuenta oficial de WeChat
![]() Planeta del Conocimiento |
![]() Cuenta oficial de WeChat |
|---|
- Muestra tu apoyo
![]() Alipay |
![]() |
|---|



