C++语法相关
文章平均质量分 76
c++知识积累与学习
winds~
这个作者很懒,什么都没留下…
展开
-
ubuntu系统下,c++图形库Matplot++配置
linux下安装c++图形库Matplot++,使得c++可以可视化编程;安装Matplot++之前,需要先安装一个gnuplot,因为Matplot++是依赖于此库。原创 2024-09-28 18:14:52 · 561 阅读 · 0 评论 -
静态链接库与动态链接库的用法
静态库是一组目标文件(.o 文件)的集合,打包成一个归档文件(.a 文件)。在编译时,静态库的代码被复制到可执行文件中。在 C++ 开发中是非常重要的知识点。以下是对它们的详细介绍,包括创建、使用方法以及它们之间的区别。多个程序可以共享同一个动态库,节省内存和磁盘空间。在运行时加载,节省磁盘和内存空间,但需要管理库的存在和版本。在编译时链接,生成的可执行文件独立性强,但体积较大。是 C++ 开发中管理代码复用和模块化的重要方式。动态库是在程序运行时加载的库,文件扩展名为。原创 2024-09-28 16:46:40 · 540 阅读 · 0 评论 -
排序函数与lamada表达式联用实现更复杂的排序
Lambda 表达式在使用std::sort进行排序时提供了极大的灵活性,允许你在不创建额外比较函数的情况下,快速定义排序规则。这种方式使代码更简洁,也更易于维护和理解。原创 2024-09-22 13:58:39 · 347 阅读 · 0 评论 -
c++中头文件包含内容以及为何不可重复包含头文件
当一个头文件被多个源文件包含,或者在同一个源文件中被间接多次包含时,如果没有包含保护,以上提到的实体可能会被重复定义或声明,导致编译错误或链接错误。使用包含保护可以确保头文件的内容在同一个翻译单元中只被处理一次,避免重复定义和声明的问题。在头文件中通常不包含函数的具体实现(模板和内联函数除外),以避免链接时的重复定义错误。通过理解这些规则,可以编写更健壮的C++代码,避免因重复定义导致的编译和链接错误。关键字的函数,其实现通常放在头文件中。函数(即提供函数的实现)是不允许的。,防止头文件被重复包含。原创 2024-09-13 15:53:00 · 824 阅读 · 0 评论 -
禁用拷贝构造函数和赋值构造函数
在C++中,禁用拷贝构造函数和拷贝赋值操作符的方式通常是为了防止类的对象被意外复制,这对于那些管理独占资源或不应被复制的对象尤为重要。您展示的代码确实禁用了这两种成员函数,但仅仅是声明了它们,并没有明确地禁用。这样的声明通常会在类的私有部分,防止外部直接访问,但关键是这些成员函数应该在私有部分且不提供实现,或者使用现代C++的更明确方式。从C++11开始,更推荐的方式是使用= delete关键字直接在声明时禁用这些函数。这样做不仅代码更清晰易懂,而且能够在编译时提供更好的错误消息,而不是在链接时。原创 2024-09-24 15:07:52 · 397 阅读 · 0 评论 -
递归的时间复杂度分析
确定回溯算法的时间复杂度通常比较复杂,因为它取决于搜索空间的大小以及你的剪枝效率。在提供的算法中,你正在生成从1到n的所有长度为k的组合。分析这类算法的时间复杂度时,我们通常需要考虑递归树的所有可能路径。原创 2024-09-15 15:23:26 · 350 阅读 · 0 评论 -
STL-vector容器总结
先复习一下c++中常用的构造函数,构造函数可以分为无参构造函数(默认构造函数),有参构造函数,拷贝构造函数,以及移动构造函数;:频繁插入或删除操作,尽量在末尾进行,避免移动大量元素。会自动管理内存,但有时可能会占用比实际需要更多的内存,可以使用。能够根据输入的数据动态调整大小,无需提前指定固定的数组大小。在内存中以连续的方式存储元素,支持随机访问,效率高。是模板类,可以存储任意类型的元素,并且支持类型检查。的方式,可以方便地访问和修改网格中的元素。的大小可以动态变化,而数组的大小固定。原创 2024-09-15 10:57:14 · 963 阅读 · 0 评论 -
c++中类模板的使用
类模板的成员函数可以在类内或类外定义。注意:在类外定义成员函数时,需要在函数名前加上,并在类名后加上<T>。类模板是C++提供的强大工具,能够让我们编写通用的、类型无关的代码。通过类模板,可以提高代码的重用性,减少重复劳动。在使用过程中,需要熟悉模板的语法和特性,以充分发挥其优势。原创 2024-09-24 15:38:25 · 418 阅读 · 0 评论