-
2021-08-31 11:02:08
一、学习篇:
- CPlusPlusThings
国人开源一个 C++ 学习项目。它系统地将 C++ 学习分为了【基础进阶】、【实战系列】、【C++2.0 新特性】、【设计模式】和【STL 源码剖析】、【并发编程】、【C++ 惯用法】、【学习课程】、【工具】、【拓展】。作为一个全面系统的 C++ 学习项目,CPlusPlusThings 是优秀的,它合理地安排了 10 Days 的实战部分,在实战中了解语法和函数用法,唯一不足的是,在注释部分有些不尽人意,对部分新手程序员并不是很友好。 - C++实现的算法合集:C-Plus-Plus
收录用 C++ 实现的各种算法的集合,并按照 MIT 许可协议进行授权。这些算法涵盖了计算机科学、数学和统计学、数据科学、机器学习、工程等各种主题。除外,你可能会发现针对同一目标的多个实现使用不同的算法策略和优化。 - 进阶指南:CppTemplateTutoria
CppTemplateTutorial 为中文的 C++ Template 的教学指南。与知名书籍 C++ Templates 不同,该系列教程将 C++ Templates 作为一门图灵完备的语言来讲授,以求帮助读者对 Meta-Programming 融会贯通。本项目写作初衷,就是通过 “编程语言” 的视角,介绍一个简单、清晰的 “模板语言”。尽可能地将模板的诸多要素连串起来,用一些简单的例子帮助读者学习这门 “语言”,让读者在编写、阅读模板代码的时候,能像if(exp) { dosomething(); }
一样的信手拈来,让 “模板元编程” 技术成为读者牢固掌握、可举一反三的有用技能。
**适合熟悉 C++ 的基本语法、使用过 STL、熟悉一些常用的算法,以及递归等程序设计方法的 C++ 学习者阅读。**虽然项目章节文章写的深入浅出,不过唯一的遗憾是尚未完成所有章节内容。
二、实战篇
- 一个小型STL库:MyTinySTL
作为新手练习用途,MyTinySTL 的作者 Alinshans 用 C++11 重新复写了一个小型 STL(容器库+算法库)。代码结构清晰规范、包含中文文档与注释,并且自带一个简单的测试框架,适合 C++ 新手来实践一番。 - 小实战—俄罗斯广块:Tinytetris
Tinytetris 是一个用 C++ 编写的终端版俄罗斯方块游戏。它提供了两个版本的源码,分为注释版和库版,注释较多易于理解和学习。
Tinytetris 是一个用 C++ 编写的终端版俄罗斯方块游戏。它提供了两个版本的源码,分为注释版和库版,注释较多易于理解和学习。 - 学习下大佬们的代码,做个计算器:calculator
微软开源的 Windows 系统预装的计算器工具。该工具提供标准、科学、程序员计算器的功能,以及各种度量单位和货币之间的转换功能。快来看看微软工程师编写的代码吧!学习大厂的编码规范、项目结构之类的,提高阅读源码的能力。英文的项目且没有讲解部分,需要通过阅读源码学习,难度较高。
三、大型项目篇:
- C/C++高频量化投资交易平台:EliteQuant Cpp
基于C/C++ 11的多线程并发式高频交易平台。它遵循现代设计模式,例如事件驱动,服务器/客户端架构,依赖注入和松散耦合的强大稳定的分布式系统。它可以独立运行和直接使用。同时,它也作为其他EliteQuant项目的服务器端。 - 开源网盘云存储 Seafile
Seafile是一个开源、专业、可靠的云存储平台;解决文件集中存储、共享和跨平台访问等问题
Seafile是一款强大优秀的云同步软件,拥有跨平台文件同步、移动端文件访问、挂载盘、文件共享和权限控制、文件锁定、文件版本管理和资料库镜像、在线编辑和协同编辑、审计日志等功能。 - 基于 C++/Python 的开源量化交易研究框架 Hikyuu
Hikyuu Quant Framework是一款基于C++/Python的开源量化交易研究框架,用于策略分析及回测。其核心思想基于当前成熟的系统化交易方法,将整个系统化交易抽象为由市场环境判断策略、系统有效条件、信号指示器、止损/止盈策略、资金管理策略、盈利目标策略、移滑价差算法七大组件
你可以分别构建这些组件的策略资产库,在实际研究中对它们自由组合来观察系统的有效性、稳定性以及单一种类策略的效果。 - 开源自动驾驶平台 ApolloAuto
Apollo (阿波罗)是一个开放的、完整的、安全的平台,将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统。
Apollo 是百度重点打造的 AI 开放平台之一,计划主要包含 4 个技术模块:定位/感知模块、车辆规划与运营(AI+大数据,精准控制车辆,适合不同路况)、软件运营框架(支持英特尔、英伟达等多种芯片)。
更多相关内容 - CPlusPlusThings
-
C++项目开发案例全程实录
2019-02-22 15:21:18全书包含12个现实生活中常用的系统案例的详细开发内容介绍,将C++的理论学习应用于具体实践中,让C++的学习不再枯燥。笔者整理了书签,使阅读更加方便。 -
C++项目开发实战入门资料
2019-03-04 16:59:06C++项目开发实战入门随书配套资料 网盘不一定永久有效,只提供网盘链接 -
c++项目开发实战入门.pdf
2019-06-11 09:35:33本pdf来自csdn下载, 因原上传者使用分卷压缩, 下载两卷不方便且需要大量积分, 所以在此上传经过本人强力压缩后的pdf, 在清晰度完全相同的情况下, 将大小从300+Mb压缩到了62.9Mb. 本pdf资源稀缺, 如果各位有条件, 请... -
C++项目源代码(适合新手练手及参考)
2019-01-13 15:57:36适合刚涉及C++的新手练手,有源代码(注释详细),答辩PPT。 适合刚涉及C++的新手练手,有源代码(注释详细),答辩PPT。 -
Visual C++项目开发案例全程实录(第2版)光盘镜像 百度云分享
2016-12-15 12:33:29Visual C++项目开发案例全程实录(第2版) -
15个C++项目列表
2021-11-11 16:43:20实验楼上有很多C++的实战项目,从简单到...* C++项目列表:* 1、C++ 实现太阳系行星系统 项目使用 C++实现 OpenGL GLUT 实现一个简单的太阳系行星系统,将涉及一些三维图形技术的数学基础、OpenGL 里的三维坐标系、Op实验楼上有很多C++的实战项目,从简单到进阶,学习每个项目都可以掌握相应的知识点。
如果你还是C++新手的话,那么这个C++的项目列表你可以拿去练手实战开发,毕竟学编程动手实践是少不了的!
如果你不知道C++可以用来做哪些项目,可以应用在哪些地方,那么,这个项目列表拿去吧,可以看看C++可以做什么!
* C++项目列表:*
1、C++ 实现太阳系行星系统
项目使用 C++实现 OpenGL GLUT 实现一个简单的太阳系行星系统,将涉及一些三维图形技术的数学基础、OpenGL 里的三维坐标系、OpenGL 里的光照模型、GLUT 的键盘事件处理。
2、C++实现运动目标的追踪
这个项目是在前面一个项目的后续项目,利用 OpenCV 来实现对视频中动态物体的追踪。
3、C++ 实现银行排队服务模拟
项目使用 C++对银行排队服务进行模拟,以事件驱动为核心思想,手动实现模板链式队列、随机数产生器等内容,进而学习概率编程等知识。作为可选进阶,这个模型同时还能稍加修改的应用到 CPU 资源争夺模型中。
4、1小时入门增强现实技术
项目利用C++,基于OpenCV实现一个将3D模型显示在现实中的小例子,学习基于Marker的AR技术。
一个踩着魔鬼的步伐的漆黑的食人魔
5、100 行 C++ 代码实现线程池
项目使用 C++ 及大量 C++11新特性设计并实现一个线程池库。
6、C++实现第一人称射击游戏
项目使用C++和 OpenGL 实现一个第一人称射击类游戏,涉及键盘鼠标的处理、三维视角变换处理、素材加载渲染等。
7、C++三段代码机器绘图
用三段 140 字符以内的代码生成一张 1024×1024 的图片。
8、C++ 开发 Web 服务框架
服务器开发中 Web 服务是一个基本的代码单元,将服务端的请求和响应部分的逻辑抽象出来形成框架,能够做到最高级别的框架级代码复用。项目将综合使用 C++11 及 Boost 中的 Asio 实现 HTTP 和 HTTPS 的服务器框架。
9、C++ 打造 Markdown 解析器
Markdown 几乎成为了程序员编写文档的标配,Markdown 的相关语法简单,解析 Markdown 文本能够加深日后编写编译器中词法分析的理解,本项目将使用 C++ 实现 Markdown 解析器,并将解析的内容生成为 HTML。
10、C++ 实现高性能内存池
获得内存池所分配的内存速度高于从堆中获得分配的内存的速度,一个长期稳定运行的服务在追求极致的过程中,实现内存池是必不可少的。和标准库中的默认分配器一样,内存池本质上也是分配器,该项目将设计并使用 C++实现一个高性能内存池。
11、C++ 实现简易 Docker 容器
Docker 的本质是使用 LXC 实现类似虚拟机的功能,进而节省的硬件资源提供给用户更多的计算资源。本项目将 C++ 与 Linux 的 Namespace 及 Control Group 技术相结合,实现一个简易 Docker 容器。
12、C++ 实现内存泄露检查器
内存泄漏一直是 C++ 中比较令人头大的问题, 即便是很有经验的 C++程序员有时候也难免因为疏忽而写出导致内存泄漏的代码。除了基本的申请过的内存未释放外,还存在诸如异常分支导致的内存泄漏等等。本项目将使用 C++ 实现一个内存泄漏检查器。
13、C++ 使用 Crypto++ 库实现常用的加密算法
该项目利用 Cryto++库 对字符串进行 AES 加密和解密,RSA 加密和解密,生成 MD5 值。其中主要用到了 Crypto++ 库,这是开源的C++数据加密算法库,支持如下算法:RSA、MD5、DES、AES、SHA-256等等。
14、C++ 实现高性能 RTTI 库
RTTI 是运行时类型信息的英文缩写,C++ 本身提供了运行时类型检查的运算符 dynamic_cast 和 typeid,然而 dynamic_cast 的效率其实并不理想,需要牺牲一定性能。本项目将手动实现一个高性能 RTTI 库。
15、c++操作 redis 实现异步订阅和发布
该项目操作 redis 实现异步订阅和发布,其中将介绍 redis 基础知识,在linux中安装和使用 redis ,常用的 hiredis API,并实现一个例程。
以上都是可以用C++来实现的,所以,还在等什么?快去动手开发吧!
编程学习:
编程学习:喜欢文章的小可爱们可以一波快速素质三连哟~拜托啦! 加入我们C/C++编程学习QQ群【669325409】学习编程知识以及领取素材,也可以一起学习交流C/C++噢~
-
VScode创建C++项目
2021-04-18 23:40:21这里写目录标题VScode创建C++项目插件创建Project配置json文件编译运行 VScode创建C++项目 假设系统已经安装了MinGW64 插件 创建Project 在这里插入图片描述 配置json文件 需要修改的地方都在下方注释说明,...VScode创建C++项目
假设系统已经安装了MinGW64
插件
创建Project
配置json文件
需要修改的地方都在下方注释说明,根据MinGW64安装位置进行修改
c_cpp_properties.json
{ "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "compilerPath": "D:\\MinGW64\\mingw32\\bin\\g++.exe",//根据实际情况自行修改 "cStandard": "c11", "cppStandard": "gnu++14", "intelliSenseMode": "gcc-x64" } ], "version": 4 }
launch.json
{ "version": "0.2.0", "configurations": [ { "name": "Debug", "type": "cppdbg", "request": "launch", "args": [], "program": "${fileDirname}\\..\\output\\${fileBasenameNoExtension}.exe",//{fileDirname}:文件所在的文件夹路径,..表示父路径,表示编译文件的路径 "stopAtEntry": false,//调试时在main方法处停住 "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "linux": { "MIMode": "gdb", "miDebuggerPath": "gdb", "program": "${workspaceFolder}/output/main" }, "osx": { "MIMode": "lldb", "miDebuggerPath": "lldb-mi", "program": "${workspaceFolder}/output/main" }, "windows": { "MIMode": "gdb", "miDebuggerPath": "D:\\MinGW64\\mingw32\\bin\\gdb.exe",//根据安装位置自行修改 "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true }] }, "preLaunchTask": "g++"//编译C++为g++,编译C为gcc } ] }
settings.json
{ "code-runner.runInTerminal": true, "files.autoSave": "onFocusChange", "editor.lineHeight": 26, "editor.fontSize": 14, }
tasks.json
{ "version": "2.0.0", "tasks": [ { "label": "g++", //任务的名称 "type": "shell", "group": { "kind": "build", "isDefault": true }, "options": { "cwd": "${fileDirname}"//源文件的路径 }, "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "new", //这里shared表示共享,改成new之后每个进程创建新的端口 "showReuseMessage": true, "clear": false }, "problemMatcher": { "owner": "cpp", "fileLocation": [ "relative", "${workspaceRoot}" ], "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } }, "windows": { "command": "D:\\MinGW64\\mingw32\\bin\\g++.exe",//根据安装位置自行修改 "args": [ "-Wall", "-std=c++17", "${file}", "-g", "-o", "${fileDirname}/../output/${fileBasenameNoExtension}.exe" //程序运行的路径 ] }, "linux": { "command": "bash", "args": [ "-c", "make" ] }, "osx": { "command": "bash", "args": [ "-c", "make" ] } } ] }
编译运行
设置断点按F5运行即可
-
Visual C++项目开发案例全程实录光盘源码(全部)
2013-07-06 17:40:57c++,开发实例,Visual C++项目开发案例全程实录光盘源码(全部) 下载地址,本人已试,下载速度飞快。 -
精心为学弟学妹整理了60个适合练手的C语言/C++项目,值得收藏!
2021-05-15 22:25:20前几天写这篇文章《精心为学弟学妹准备的C语言与C++学习路线、书籍、视频推荐和...也有不少小伙伴问看完书和视频后,可以做点啥,今天给大家分享60个c语言/c++的小项目源码(这里面一部分是c++的c),学习过程中,可前几天写这篇文章《精心为学弟学妹准备的C语言与C++学习路线、书籍、视频推荐和资料,值得收藏!》,阅读和收藏都挺多,也让我一周涨了3000多粉丝,在这里感谢大家关注支持我。
最近很多粉丝朋友私信问一些学习路线的问题以及一些学习资源,一个一个回复有点累,前几天我分享了这篇《精心为学弟学妹准备的刷题笔记与代码规范,看完距大厂又近了一步!值得收藏!》关于算法和代码规范的文章。也有不少小伙伴问看完书和视频后,可以做点啥,今天给大家分享60个c语言/c++的小项目源码(这里面一部分是c++的c),学习过程中,可以调试下。对编程能力提升很有帮助。
程序员必备资源,值得收藏!点击下载
说明:虽然截图标题都是c语言,但是一部分
-
该死!GitHub上这些C++项目真香
2021-08-26 11:39:48这里帮大家就C++方向罗列出了一些热度很高的从入门到小实战项目再到大型项目,供大家学习吧。 学习篇: 一、一个项目入门C++足以:CPlusPlusThings CPlusPlusThings 是国人开源一个 C++ 学习项目。它系统地... -
用VSCode开发C++项目
2021-09-21 10:06:19最近在新学C++,又不想用VisualStudio那么庞大的IDE,VS体量稍微有那么点笨重(主要还是因为穷,没钱换电脑,目前的电脑开个VS要个两三分钟,所以就懒得用VS了。嘻嘻!)。下面步入正题。 首先得明白VS只是一个编辑... -
C++项目目录结构
2021-09-06 16:06:37参考文章1:C++项目目录组织结构 参考文章2:干货:构建C/C++良好的工程结构 待更。。。 -
VScode创建第一个C++项目
2021-11-02 11:10:44前言 作为刚工作的技术小白,从来没有写技术博客的习惯,之前也看了一些指导书,知道使用博客记录是一件随着...首先,VScode不像VS那样可以很方便的直接创建项目。下面是步骤: 1. 我们需要创建一个空的文件夹firstP -
VS2019如何创建C++项目?没有找到空项目(C++)完全解决方案
2020-12-22 11:04:41在使用Visual Studio 2019创建C++空项目时,没有空白项目可选,如下图所示,原因是在安装VS2019时没有选择C++对应的模块。本文讲解如何使用VS2019创建C++空项目,并使用C语言输出Hello World。 运行Visual Studio ... -
vs2010 c++项目创建简易教程
2022-02-22 10:23:22VS2010 C++输出hello world Visual Studio是微软公司推出的开发环境,是目前流行的Windows平台应用程序开发环境。下面通过“hello world”程序介绍如何在Microsoft Visual Studio2010(VS2010)【更高版本的如小括号... -
精选 22 个 C++ 项目,编程小白练手首选!
2020-11-30 15:35:25下面为大家精选了 22 个 C++ 项目,推荐新人练手首选! C/C++的学习裙【七一二二八四七零五】,无论你是小白还是进阶者,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料... -
基于CMake和Vscode的c++项目开发流程
2022-03-14 00:00:13本篇文章将简单介绍基于CMake与Vscode下的linux c++开发流程。 -
使用vs建立C/C++项目
2021-05-27 07:40:52使用VS2017来建立一个C/C++项目详细步骤 -
从GitHub上下载的C++项目如何运行?
2021-03-21 19:11:25从GitHub上下载的C++项目如何运行? 前言 学习编程的一个很好的方式就是阅读别人的代码。最近在GitHub上发现了一些比较简单,对初学者友好的C++项目,但是该怎么下载这个项目并运行呢?在网上搜了很多回答,都没有... -
dev c++ 项目管理
2021-03-29 14:24:16dev c++中需要新建一个项目, 然后把源代码放进去,一个点C文件为一个编译单元, 编译器每次只能处理一个, dev c++可以把一个个都编译后链接起来。 另外还需要一个同名点h的头文件,来存放我们的函数声明。 在需要... -
Mac M1 Xcode创建并运行c++项目,附带引入外部文件
2022-04-02 16:40:00Mac M1 Xcode创建并运行c++项目,附带引入外部文件 本文目录Mac M1 Xcode创建并运行c++项目,附带引入外部文件创建项目引入外部文件 创建项目 打开 Xcode,选择Create a new Xcode project创建一个新工程 选择... -
陈同学整理的10个可以写到简历上C++项目
2020-09-16 18:38:11很多搞C++的小伙伴 包括曾经我自己 特别是后端方向的 或多或少都有过一个这样的疑惑 "搞C++到底可以写哪些项目呢?" 在项目这个问题上 对于像我一样的非科班生 ... -
visual studio创建C++项目
2021-08-24 16:08:452.选择C++ 空项目 3.打开解决方案资源管理器 4.创建c++文件 5.编写代码 6.运行 7.调试 1.文件--新建--项目 2.选择C++ 空项目 3.打开解决方案资源管理器 4.创建c++文件 右键源文件,选择新建项。 ... -
简单的 C/C++ 项目自动化构建--Xmake
2022-04-13 15:40:16XMake是一个基于Lua的轻量级跨平台自动构建工具,支持在各种主流平台上构建项目。 Xmake = Build backend + Project Generator + Package Manager 它跟cmake、automake、premake有点类似,但是机制不同,它默认... -
使用Qt Creator创建C++项目
2021-08-09 10:08:48这里写自定义目录标题使用Qt Creator创建C++项目使用Qt Creator创建C++项目 使用Qt Creator创建C++项目 使用Qt Creator创建C++项目 虽然Qt Creator是主要是用来编写使用Qt库的程序的,但是它也可以用作一个编写普通... -
Visual Studio 2019创建一个c++项目
2022-01-04 10:16:30使用vs2019创建c++程序 -
Visual Studio 2022 创建C++项目
2021-12-01 15:23:08打开Visual Studio,创建新项目 选择平台 选择空项目,点击下一步 设置项目名称以及指定项目文件位置,点击创建 创建成功后,如下图:在源文件中添加代码文件 写入代码,运行代码(F5) 运行结果界面如下图所... -
教程类——使用VC(Visual Code)新建C++项目
2022-04-26 19:19:50算法分析与设计实验课要求使用C++编写实验代码,然后本人上次清理C盘不小心把visual studio2019删了,电脑里仅存的2017是繁体字的(看不懂,呜呜呜,主要是下载的时候没明白plain chinese 是啥意思,英语不好,呜呜...