C/C++ 作为元老级的编程语言,任时光更迭依旧屹立不倒,哪怕如今炙手可热的AI,其底层也是用其编写。那么作为新手该如何快速上手 C++ 呢?当然是敲代码啊!一切不写代码的学编程都是瞎搞。下面为大家精选了 22 个 C++ 项目,推荐新人练手首选!

1.C++ 实现基数树

  使用 C++ 实现Radix树:一种基于二进制表示的键值的查找树,尤其适合处理非常长的、可变长度的键值,Patricia 的基本思想是构建一个二叉树。

2.C++ 实现并行计算的K-Means聚类算法

  使用 C++ 实现一个完整的面向对象的可并行K-Means算法。

3.C++ 实现 STL 标准库和算法

  实现 C++ STL 的容器和算法的实现。

4.C++ 实现内存泄露检查器

  内存泄漏一直是 C++ 中比较令人头大的问题, 即便是很有经验的 C++ 程序员有时候也难免因为疏忽而写出导致内存泄漏的代码。本项目使用 C++ 实现一个内存泄漏检查器。

5.C++ 实现高性能内存池

  获得内存池所分配的内存速度高于从堆中获得分配的内存的速度,一个长期稳定运行的服务在追求极致的过程中,实现内存池是必不可少的。和标准库中的默认分配器一样,内存池本质上也是分配器,本项目设计并使用 C++实现一个高性能内存池。

6.C++ 实现高性能 RTTI 库

  RTTI 是运行时类型识别的英文缩写,C++ 本身提供了运行时类型检查的运算符 dynamic_cast 和 typeid,然而 dynamic_cast 的效率其实并不理想,需要牺牲一定性能。本项目将使用 C++ 手动实现一个高性能 RTTI 库。

7.C++ 实现智能指针

  使用C++语言实现智能指针的过程,来了解C++基本程序设计的方法,包括类的定义与使用,运算符的重载,模板类的使用方法,以及引用计数技术。

8.C++ 实现即时通信软件

  使用 C++ 实现一个具备服务端和客户端的即时通信聊天室,涉及网络编程,C++面向对象程序设计等知识。

9.C++实现课程管理系统

  使用C++ 实现一个课程管理系统,在这个过程中会介绍 C++ 11 的很多特性,同时可以熟悉 Linux下 的 C++ 。

10.C++ 实现银行排队服务模拟

  使用 C++对银行排队服务进行模拟,以事件驱动为核心思想,手动实现模板链式队列、随机数产生器等内容,进而学习概率编程等知识。作为可选进阶,这个模型同时还能稍加修改的应用到 CPU 资源争夺模型中。

11.C++操作 redis 实现异步订阅和发布

  操作 redis 实现异步订阅和发布,其中将介绍 redis 基础知识,在linux中安装和使用 redis ,常用的 hiredis API,并实现一个例程。

12.C++ 使用 openGL 实现吃豆人游戏

  通过 C++ 和 openGL 库来实现了一个吃豆人的小游戏。使用了标准模板库,既对自己之前知识的检阅也是对 C++ 编程能力的一种提升。

13.C++ 解决迷宫问题

  通过 C++ 实现了一个迷宫游戏,游戏不仅涉及到简单的 C++ 游戏思想,还涉及到深度优先遍历算法。

14.C++ 基于 OpenCV 实现实时监控和运动检测记录

  使用 C++ 和 OpenCV 提供的库函数,实现摄像头的实时监控功能,并通过监控画面的运动检测选择是否记录视频。监控人员可选择输出图像的模式以更容易的分辨监控中的异常情况。

15.C++ 实现简易 Docker 容器

  C++ 与 Linux 的 Namespace 及 Control Group 技术相结合,实现一个简易 Docker 容器。

16.C++ 开发 Web 服务框架

  将综合使用 C++11 及 Boost 中的 Asio 实现 HTTP 和 HTTPS 的服务器框架。

17.C++ 编写 json 生成器

  用 C++ 编写一个 json 生成器,生成 json 数据,并学习编写测试用例。

18.C++ 利用 QT 实现 PDF 阅读器

  利用 QT 开发环境来实现一个 PDF 阅读器。主要内容包含了 QT 的基本用法以及图形界面的设计,还有第三方库 poppler 的使用。

19.C++17 自制脚本语言

  使用 C++ 语言自制一个脚本语言。麻雀虽小五脏俱全,它完整支持函数,条件/位/逻辑运算,原生字符串/数组类型等特性。主要将从理论出发,逐步构建词法分析器,语法分析器,AST,运行时,最终实现一个完整的脚本语言,并且使用该脚本语言解决一些实际问题。

20.C++ 实现太阳系行星系统

  使用 C++实现 OpenGL GLUT 实现一个简单的太阳系行星系统,将涉及一些三维图形技术的数学基础、OpenGL 里的三维坐标系、OpenGL 里的光照模型、GLUT 的键盘事件处理。

21.C++11 从零实现 NoSQL 数据库

  使用 C++11 实现了一个完全兼容 redis 的 kv 数据库项目——Qedis;该项目会使用到一些 C++11 核心特性和 STL 库,并利用已有的 tcp 网络库,逐步构建出一个完全兼容 Redis 的更高性能的内存数据库。

22.C++ 实现 XML 解析

  通过 C++ 实现 XML 文档内容解析,充分利用了 C++ 功能特性和泛型编程思想。通过本课程可以规范自己的编程习惯并积累大型项目开发经验。

有哪些适合新手练手的C/C++项目相关推荐

  1. 推荐一些适合新手练手的C/C++项目

    最好的编程语言是什么?一千个程序员或许会有一千零一种答案: Python在人工智能时代的风头正盛.Java依旧是市场上的香饽饽.当然还有PHP:JavaScript.C#.Ruby以及Objectiv ...

  2. 有哪些适合新手练手的C/C++项目?

    1.(免费项目) C/C++ - C语言制作简单计算器 2.(会员项目) C/C++ - C语言实现通讯录 项目使用 C 语言完成一个简单的通讯录.会涉及到结构体.数组.链表等重要概念.此项目为实验楼 ...

  3. 适合新手 练手的Java 实战项目

    引言:Java web项目主要采用mvc的的设计思想,系统主要采用java+jsp+servlet+mysql+eclipse实现,具有登陆.分页.导出excel,增删改查等功能,适合初学者,满足基本 ...

  4. 有哪些适合新手练手的前端项目?

    学习编程专栏连载编程新手练手项目系列之前端项目篇,同样也欢迎热爱学习.对Java感兴趣的朋友学习翻阅上三两篇内容.(连载系列的项目整理以后会在每个月进行一次重新整理,也欢迎大家进行项目的投稿,投稿请私 ...

  5. java技术分享主题_Java开发入门:适合新手练手的Java项目(附源码下载)

    Java作为一门古老的语言,已有20年左右的历史,这在发展日新月异的技术圈可以说是一个神话.虽然不少人曾抱怨Java语言就像老太太的裹脚布,又臭又长,有时写了500行都不能表达程序员的意图. 但从市场 ...

  6. python练手经典100例-推荐几个适合新手练手的Python项目《python入门例子》

    python 为什么实例对象可以调用类方法? 实例是什么例是类定义的实.那么,类中所定义的属方只要没有被屏蔽,在它的实体中就同样是可访问的. 至于说没有run()没有参数self,而是参数cls,为什 ...

  7. Java——一些适合新手练手的Java项目

    转载自 https://blog.csdn.net/luolianxi/article/details/77924728 Java作为一门古老的语言,已有20年左右的历史,这在发展日新月异的技术圈可以 ...

  8. Java【有哪些适合新手练手的Java项目?】

    Java作为一门古老的语言,已有20年左右的历史,这在发展日新月异的技术圈可以说是一个神话. 虽然不少人曾抱怨Java语言就像老太太的裹脚布,又臭又长,有时写了500行都不能表达程序员的意图. 但从市 ...

  9. 适合初学者练手的vue小项目(附github源码)

    vue慢慢的成为了前端最受欢迎的框架之一,在很多项目之中开发都能用得到,如今也已经发展到3.0了,可能是因为这个框架可以提高工作效率,因此受到大家的追捧,在之前的文章里面也说过,2019年,大前端学习 ...

  10. 适合新手练手,用Python爬取OPGG里英雄联盟英雄胜率及选取率,详细讲解加注释(建议收藏练手)

    今天来个简单的小项目,适合新手拿来练手,在OPGG上爬取英雄联盟里的法师,ADC,打野,辅助所有英雄的胜率及选取率,是不是感觉很高大上,但是却很简单,只要用三十多行代码就能实现,详细讲解每一行代码加注 ...

最新文章

  1. c语言 整形数组如果输入回车,数字数组 输入字符'q'推出程序 输入enter,停止输入...
  2. PostgreSQL杂记页
  3. TIMING_01 时序约束与时序分析引导篇
  4. 虚拟机:请问我刚刚回收的对象是干垃圾还是湿垃圾?|文末送书
  5. Java代码有效和片段有效_Java 9 尝鲜之交互式编程环境
  6. python循环语句for 循环十次_python循环语句for的使用方式,又快又好
  7. vue 运行报错Module build failed: Error: Node Sass does not yet support your current environment: Windows
  8. 2015年1月微信上线原创声明功能:智能添加原创标识 转载自动注明出处
  9. linux-2.6.22.6 内核源代码包的文件目录介绍
  10. linux中vsftpd登陆慢卡问题解决方法
  11. java多线程生产消费者_JAVA多线程实现生产者消费者的实例详解
  12. java ee自学_自学JavaEE难度大不大?
  13. HTML5+CSS编写个人博客界面
  14. linux下anjuta_[分享] Linux下用Anjuta写个Hello World 的C++程序竟如此简单!
  15. 【MySQL 数据库】聚合查询和联合查询操作
  16. 俄亥俄州立大学哥伦布分校计算机科学,俄亥俄州立大学哥伦布分校什么专业最好?...
  17. kaggle常见操作及错误
  18. EDM数据之大数据是什么
  19. java中常用的时间格式yyyy-MM-dd'T'HH:mm:ss.SSSZ
  20. 会计面试经常会被提问的11个问题!!

热门文章

  1. 性能测试工具 wrk 安装与使用
  2. git bash上传代码到github
  3. node.js的初步见解
  4. VM虚拟机下CentOS 6.5配置IP地址的三种方法
  5. 第十一天-linux的硬链接和软连接的区别
  6. Verilog奇偶校验_zt
  7. 内层元素设置position:relative后父元素overflow:hidden overflow:scroll失效 解决方法
  8. 获取div相对文档的位置
  9. XCTest+XCTool
  10. iOS底层探索之Block(四)——Block的探索和源码分析