/c-plus-plus

wawu

Primary LanguageC++GNU Affero General Public License v3.0AGPL-3.0

c-plus-plus

适合想学习现代c++的开发者们,最推荐的还是配合阅读文档 https://zh.cppreference.com/w/cpp

2022-9-2设置为Cmake管理项目

主要为了方便测试和运行单个源文件,使用的是VS2022的CMake项目

因为Cmake不支持C++20的模块,所以我们只能在里面搞一个项目测试,你们能看懂就好;也不能说不支持吧,其实也行,我觉得麻烦罢了

我们在module目录下有几个vs的项目,sln解决方案,如果你想正常运行,需要先配置一下你的环境,不单单是支持c++20就行,具体请谷歌

number类

在2022-9-27完成了一个带数值溢出检测的number类,它仍有许多问题,如:浮点类型的检测完全不保证...;使用sln项目,C++20

使用了概念,异常,模块,折叠表达式,众多的operator"",其实也不多,可读性应该是“可以”的

Boost文件夹

使用的vcpkg管理第三方的库,非常的方便!!!,就是如果编译boost的话花了一个多小时

正是由于编译开源库的传统方法的缺陷,所以出现了 Vcpkg,优点如下:

自动下载开源库源代码。

源码包的缓存管理和版本管理,可以升级版本。

轻松编译。

依赖关系检查(比如编译 libcurl,会自动下载 zlib、openssl 进行编译)。

无缝集成 Visual Studio,不需要设置库文件、头文件的所在目录,自动集成。

Visual Studio 全平台支持,不仅支持 Debug/Release、x86/x64 编译,还支持 UWP、ARM 平台的编译。

我们将在此文件夹存放boost库使用练习的代码

如何学习现代c++?

总而言之就是三步走,文档+源码+群友,一个好的环境才能帮助你学习,源码一般没指望各位能看懂太多,习惯问题,没事可以点进去看看,多少能看懂一些。

搜索引擎只推荐谷歌,请勿直接使用csdn的任何观点,或者不要轻易相信“非”权威说明,不要听风就是雨

学习这些标准和现代的写法有何意义?

没什么意义,只是做业务的话谁用的到这么多,纯纯没事做可以一直对着上面的文档看

除非你想称为“语言律师”;好了开个玩笑,关于这个问题只能说仁者见仁智者见智,个人点评会受到个人技术的局限性

推荐一些好用的网站

看反汇编,运行代码,众多编译器可选择,总之属于是的开发者们人手一个的了 https://gcc.godbolt.org/

还有经常用于查看语法糖和编译后的 https://cppinsights.io/

关于C++标准线程库,并发等内容

其实我并没有再这里面去写这些,很久以前写在别的文件里,顺便强调一下,任何代码和注释没人能保证完全正确

并发编程代码

推荐书籍:C++并发编程第二版

其实我对于这方面理解是有问题的(尤其是内存模型部分),诸位稍微看看就可,且希望各位最好先是学过操作系统最为合适