C++
文章平均质量分 81
C++学习、使用、累计经验、避坑
静寂星河
人生只有前进,前进,再前进,停不下来啊!
展开
-
C++初学者指南-2.输入和输出---命令行参数
这个和编程知识无关,就是简单介绍了一些命令行参数的解析库,有需要的可自行用翻译功能自行翻译。在Linux下编译和运行。原创 2024-06-24 21:36:20 · 205 阅读 · 0 评论 -
C++初学者指南第一步---14.函数调用机制
本文探讨了 C++ 中函数调用的机制。它解释了栈和堆在内存中的作用、函数调用过程中栈中元素的变化、引用局部变量的风险以及编译器的一些优化技术。通过详细的图解说明了函数调用的具体流程,有助于初学者深入理解 C++ 中函数的工作原理。原创 2024-06-23 22:58:22 · 672 阅读 · 0 评论 -
C++初学者指南第一步---13.聚合类型
C++中的聚合类型为开发者提供了一种组织和管理数据的有效方式。通过定义自定义的聚合类型,开发者可以改善接口的可用性和正确性,同时还可以自定义初始化、复制和内存布局等行为。聚合类型具有值语义,即成员变量的值被完全复制,而不是仅复制引用。开发者还可以利用标准库容器如std::vector来存储聚合类型对象,从而获得更加灵活和强大的功能。尽管在某些情况下使用聚合类型的语法会产生细微的歧义,但总的来说,聚合类型为C++编程带来了更好的抽象和表达能力。原创 2024-06-23 17:02:04 · 672 阅读 · 0 评论 -
C++初学者指南第一步---12.引用
C++引用是一种特殊的变量类型,它是对另一个变量的别名,可以提高代码的效率和可读性。引用分为非常量引用和常量引用,还可以使用auto关键字自动推导引用类型。合理使用引用可以避免不必要的内存开销和悬空引用等问题,提高编程效率。原创 2024-06-22 16:56:32 · 1162 阅读 · 0 评论 -
C++初学者指南第一步---11.字符串(基础)
本文概述了 C++ 中的字符串基础知识。主要介绍了 std::string 类型的基本用法、字符类型 char 的特性、常见的字符串操作、字符串字面量以及类似字符串的函数参数等内容。文章通过代码示例和配图详细阐述了这些概念,为 C++ 初学者提供了全面的入门指导。原创 2024-06-21 21:43:56 · 989 阅读 · 0 评论 -
C++初学者指南第一步---10.内存(基础)
这篇文章介绍了C++中内存的基础知识。它解释了C++的抽象内存模型和内存实际处理的解决方案。此外,它还讨论了自动存储和动态存储(使用std::vector)的相关概念。通过这篇文章,读者可以了解C++内存管理的基本原理。原创 2024-06-20 23:03:26 · 1179 阅读 · 0 评论 -
C++初学者指南第一步---9.函数
C++中函数是一个重要的编程概念。本文介绍了函数的基本用法,包括输入输出、返回类型、参数类型、函数重载、递归调用、声明和定义等。文章还讨论了函数设计的一些最佳实践,如前置条件检查、[[nodiscard]]属性和noexcept异常保证,以及一些常用的数学函数。整体来说,这是一篇全面、深入地介绍了C++函数编程的良好指南。原创 2024-06-20 15:43:44 · 1179 阅读 · 0 评论 -
C++初学者指南第一步---8.类型系统(基础)
本文介绍了 C++ 中类型系统的基础知识,包括使用 const 声明常量、类型别名、自动类型推导 auto 以及常量表达式 constexpr。作者通过各种示例详细阐述了这些概念的使用方法,帮助初学者更好地理解 C++ 的类型系统。原创 2024-06-19 22:46:10 · 420 阅读 · 0 评论 -
C++初学者指南第一步---7.控制流(基础)
本文介绍了C++初学者需要掌握的基础控制流语法,包括条件分支(if-else)、Switch语句、三元运算符以及循环迭代(for、while、do-while)等。作者对每个概念进行了详细讲解,并给出了示例代码,帮助读者更好地理解和掌握这些基本语法。原创 2024-06-19 21:10:22 · 896 阅读 · 0 评论 -
C++初学者指南第一步---6.枚举和枚举类
本文介绍了C++中枚举和枚举类的概念,包括作用域的枚举(enum class)和无作用域的枚举(enum),以及它们之间的区别。此外,还阐述了枚举类的基础类型、自定义枚举类映射以及与基础类型之间的转换。通过这些内容,初学者可以全面了解C++中枚举和枚举类的基础知识。原创 2024-06-18 20:33:49 · 739 阅读 · 0 评论 -
C++初学者指南 内存管理篇--4.C++内存分配器Allocator
C++内存分配器(Allocator)是用于管理内存分配的通用接口。它可以使容器逻辑与内存分配策略解耦、提高内存分配的速度和确保内存可用。C++内存分配器支持自定义分配策略,并可用于大部分标准容器。C++17中引入的多态内存资源(std::pmr命名空间)进一步增强了内存分配器的功能,允许容器在运行时更改分配器,并提供了多种内存资源管理器供选择。原创 2024-06-08 21:28:41 · 601 阅读 · 0 评论 -
C++初学者指南 内存管理篇--3.C++手动内存管理
本文介绍了C++手动内存管理的基础知识,包括栈内存、堆内存的分配和释放,以及避免内存泄漏和其他常见内存管理错误的建议和工具。重点强调了现代C++使用智能指针与之前手动管理原始指针的区别,并介绍了内存检查工具ASAN和Valgrind。文章还探讨了异常处理对内存管理的影响,以及如何通过合理的编程实现异常安全性。原创 2024-06-05 22:26:39 · 769 阅读 · 0 评论 -
C++初学者指南 内存管理篇--2.C语言风格数组
C++初学者在使用数组时需要注意一些细节。C语言风格数组是一种常见但不完美的数组表示方式,有一些限制和缺点,例如不可深拷贝、退化为指针、动态大小设置等问题。建议初学者在合适的情况下考虑使用C++标准库提供的容器,如vector,以获得更好的可用性和安全性。同时也需要熟悉C语言风格数组的基本操作,如数组初始化、访问、传递给函数等。原创 2024-06-02 22:26:21 · 551 阅读 · 0 评论 -
C++初学者指南 内存管理篇--1.C/C++指针及运算
本文介绍了C++指针的基本特性和运算操作。指针存储的是内存地址,不同类型的数据占用的内存空间大小不同。通过递增/递减指针,可以访问指针指向的内存空间中的下一个/上一个元素。还介绍了指针的下标运算、空指针、指向对象的指针以及指向指针的指针等概念。同时也解释了取地址(&)和解引用(*)操作符的作用。这些内容有助于读者更好地理解和应用指针在C++编程中的作用。原创 2024-06-01 13:41:23 · 389 阅读 · 0 评论 -
C++初学者指南第一步---5.介绍std::vector
C++标准库中的std::vector是一种动态数组容器,它提供了灵活的内存管理和常见的数组操作,是C++初学者必须掌握的基础知识之一。本文从初始化、添加元素、调整大小、删除元素以及深拷贝等方面进行了全面而详细的介绍,帮助读者快速理解和掌握std::vector的基本使用方法。原创 2024-06-17 21:59:24 · 406 阅读 · 0 评论 -
C++初学者指南第一步---4.基本类型
C++中的基本类型是所有复杂数据结构的基础。本文概述了C++中的基本类型,包括布尔型、字符型、有符号整数、无符号整数和浮点数类型。文章还介绍了常见的数字表示方法、算术运算、比较运算、逻辑运算、内存大小和数值范围等相关知识。此外,文章还讨论了类型缩小、花括号初始化、位运算以及算术转换和提升等概念。原创 2024-06-16 00:01:41 · 961 阅读 · 0 评论 -
C++初学者指南第一步---3.输入和输出(基础)
本文向初学者介绍了C++中输入和输出的基础知识。文章描述了I/O流的概念以及 std::cin、std::cout、std::clog 和 std::cerr 的使用方法。同时还介绍了流操作符 >> 和原创 2024-06-15 17:24:16 · 317 阅读 · 0 评论 -
C++初学者指南第一步---2. Hello world
本文为 C++ 初学者提供了如何编写和编译第一个 "Hello World" 程序的指南。它详细解释了 C++ 源代码的基本结构和关键概念,包括预处理器命令、注释、main 函数、标准库的使用以及编译和链接过程。文章还提供了一些编译器标志的建议,并指出了使用 "using namespace std;" 的潜在问题。总的来说,这是 C++ 初学者入门的一个很好的参考。原创 2024-06-15 13:23:26 · 678 阅读 · 0 评论 -
C++初学者指南第一步---1. C++开发环境设置
本文为C++初学者介绍了如何设置C++开发环境的第一步。主要包括:1) 常用的代码编辑器和IDE工具的介绍,如Visual Studio Code等;2) 在Windows上使用Linux子系统WSL的优势;3) 命令行界面的基础知识;4) 主流的C++编译器如gcc/g++、clang/clang++和Visual Studio,以及浏览器中在线编译器的使用。对于初学者来说,从简单的文本编辑器和命令行编译器开始是个不错的选择,后续再逐步过渡到IDE。原创 2024-06-13 23:11:05 · 1150 阅读 · 0 评论 -
在Windows下用Python实现构建C++项目的make clean功能
最近用Windows11系统交叉编译嵌入式Linux下的C++项目发现一个问题,每次执行makefile的清理项目的make clean指令时都不成功,查看makefile文件发现是因为make clean用的是Linux下的rm命令删除文件,这个命令windows没有导致的。为了兼容又不想改makefile文件。就自己写了段Python程序,实现清理项目编译后中间文件和目标文件的功能。原创 2024-06-13 13:51:24 · 220 阅读 · 0 评论 -
C++学习路线图
github上有个很好的C++学习项目,总结了C++学习的一些经验。总结的学习路线图很有用。关键是添加了中文版,很方便。原创 2024-05-30 22:33:27 · 162 阅读 · 0 评论 -
记录一个非常好的C++学习网站
最近偶然发现一个国外的C++入门学习网站,非常适合初学者,虽然是英文的但是用大量图表展示了C++一些主要编程概念和对象,一目了然非常直观,英文不好的也能一眼看明白,制作十分精良,非常推荐,除了基本教程,里面还有其它升级教程和视频教程、讨论版的链接,升级教程也是全英文的,但是讲的非常好,这个就需要英文底子了,不知哪位大神能翻译成中文。转载几张示意图,看的就是赏心悦目!原创 2024-04-25 10:27:18 · 264 阅读 · 1 评论