随笔分类 -  《Visual C++ 入门系列教程》

摘要:链表队列是一种基于链表实现的队列,相比于顺序队列而言,链表队列不需要预先申请固定大小的内存空间,可以根据需要动态申请和释放内存。在链表队列中,每个节点包含一个数据元素和一个指向下一个节点的指针,头节点表示队头,尾节点表示队尾,入队操作在队尾插入元素,出队操作在队头删除元素,队列的长度由节点数量决定。由于链表队列没有容量限制,因此可以处理任意数量的元素,但是相比于顺序队列,链表队列的访问速度较慢,因为需要通过指针来访问下一个节点。 阅读全文
posted @ 2023-08-15 09:19 lyshark 阅读(421) 评论(0) 推荐(0) 编辑
摘要:相对于顺序栈,链表栈的内存使用更加灵活,因为链表栈的内存空间是通过动态分配获得的,它不需要在创建时确定其大小,而是根据需要逐个分配节点。当需要压入一个新的元素时,只需要分配一个新的节点,并将其插入到链表的头部;当需要弹出栈顶元素时,只需要删除链表头部的节点,并释放其所占用的内存空间即可。由于链表栈的空间利用率更高,因此在实际应用中,链表栈通常比顺序栈更受欢迎。在实现上,链表栈通过使用`malloc`函数动态开辟节点内存空间来实现入栈操作,在释放时使用`free`函数释放节点内存空间来实现出栈操作,这使得链表栈相对于顺序栈更加节约存储空间,也更加容易实现。 阅读全文
posted @ 2023-08-15 09:18 lyshark 阅读(408) 评论(0) 推荐(0) 编辑
摘要:顺序栈是一种基于数组实现的栈结构,它的数据元素存储在一段连续的内存空间中。在顺序栈中,栈顶元素的下标是固定的,而栈底元素的下标则随着入栈和出栈操作的进行而变化。通常,我们把栈底位置设置在数组空间的起始处,这样在进行入栈和出栈操作时,只需要维护栈顶指针即可。顺序栈的实现比较简单,它只需要一个数组和一个整型变量`top`即可。其中,数组用于存储栈中的元素,top则用于记录当前栈顶元素在数组中的位置。当进行入栈操作时,我们将要入栈的元素放在数组的`top`位置,然后将`top`加1;当进行出栈操作时,我们先将`top`减1,然后返回`top`位置的元素值即可。 阅读全文
posted @ 2023-08-15 09:17 lyshark 阅读(469) 评论(0) 推荐(0) 编辑
摘要:动态链表是一种常用的动态数据结构,可以在运行时动态地申请内存空间来存储数据,相比于静态数组和静态链表,更加灵活和高效。在动态链表中,数据元素被组织成一条链表,每个元素包含了指向下一个元素的指针,这样就可以通过指针将所有元素串联起来。使用动态链表存储数据时,不需要预先申请内存空间,而是在需要的时候才向内存申请。当需要添加新的元素时,可以使用`malloc`函数动态地申请内存空间,然后将新的元素插入到链表中;当需要删除元素时,可以使用`free`函数释放元素占用的内存空间,然后将链表中的指针重新连接。 阅读全文
posted @ 2023-08-15 09:16 lyshark 阅读(522) 评论(0) 推荐(0) 编辑
摘要:动态数组相比于静态数组具有更大的灵活性,因为其大小可以在运行时根据程序的需要动态地进行分配和调整,而不需要在编译时就确定数组的大小。这使得动态数组非常适合于需要动态添加或删除元素的情况,因为它们可以在不浪费空间的情况下根据需要动态增加或减少存储空间。动态数组的内存空间是从堆(heap)上分配的,动态数组需要程序员手动管理内存,因为它们的内存空间是在程序运行时动态分配的。程序员需要在使用完动态数组后手动释放其内存空间,否则可能会导致内存泄漏的问题,进而导致程序崩溃或者运行缓慢。因此,在使用动态数组时,程序员需要特别注意内存管理的问题。 阅读全文
posted @ 2023-08-15 09:15 lyshark 阅读(1040) 评论(0) 推荐(0) 编辑
摘要:Pool内存池: 只能开辟常规内存,数据类型为int,float,double,string等。 #include <iostream> #include <boost/pool/pool.hpp> #include <boost/pool/object_pool.hpp> using namesp 阅读全文
posted @ 2021-03-11 18:24 lyshark 阅读(881) 评论(0) 推荐(0) 编辑
摘要:基础处理 #include <iostream> #include <boost/foreach.hpp> #include <boost/filesystem.hpp> using namespace std; using namespace boost; using namespace boos 阅读全文
posted @ 2021-03-11 18:23 lyshark 阅读(869) 评论(0) 推荐(0) 编辑
摘要:#include <iostream> #include <string> #include <boost\bind.hpp> using namespace std; using namespace boost; int func(int x, int y) { return x + y; } s 阅读全文
posted @ 2021-03-11 18:22 lyshark 阅读(549) 评论(0) 推荐(0) 编辑
摘要:Boost库中默认针对日期与时间的操作库分为,timer,progress_timer,date_time这几类,如下是一些常用的使用方法总结。 阅读全文
posted @ 2021-02-28 19:13 lyshark 阅读(2433) 评论(0) 推荐(0) 编辑
摘要:字符串的查找与替换一直是C++的若是,运用Boost这个准标准库,将可以很好的弥补C++的不足,使针对字符串的操作更加容易。 阅读全文
posted @ 2021-02-27 15:22 lyshark 阅读(735) 评论(0) 推荐(0) 编辑
摘要:Boost库中默认自带了一个功能强大的命令行参数解析器,以往我都是自己实现参数解析的,今天偶尔发现这个好东西,就来总结一下参数解析的基本用法,该库需要引入`program_options.hpp`头文件,即可使用了。 阅读全文
posted @ 2021-02-26 21:26 lyshark 阅读(1695) 评论(0) 推荐(0) 编辑
摘要:C++ 标准模板库STL,是一个使用模板技术实现的通用程序库,该库由容器container,算法algorithm,迭代器iterator,容器和算法之间通过迭代器进行无缝连接,其中所包含的数据结构都是目前最优解,该库既能保证软件代码的高可复用性,又能保证代码具有相当高的执行效率,STL库是ANSI 阅读全文
posted @ 2020-09-10 15:13 lyshark 阅读(871) 评论(0) 推荐(0) 编辑
摘要:C++ 标准模板库STL,是一个使用模板技术实现的通用程序库,该库由容器container,算法algorithm,迭代器iterator,容器和算法之间通过迭代器进行无缝连接,其中所包含的数据结构都是目前最优解,该库既能保证软件代码的高可复用性,又能保证代码具有相当高的执行效率,STL库是ANSI 阅读全文
posted @ 2020-09-10 15:10 lyshark 阅读(1325) 评论(0) 推荐(0) 编辑
摘要:C++ STL模板是惠普实验室开发的标准开发模板,STL是C++的一部分,STL可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adapters)、算法(algorithms)、仿函数(functors)六个部分,以下案例是针对算法中的非变 阅读全文
posted @ 2020-09-09 19:21 lyshark 阅读(610) 评论(0) 推荐(0) 编辑
摘要:网上收集的一些开发常用的加密解密算法的使用技巧,第三方库 Crypto++ 也可实现 Base64加密1 base64.h #ifndef base64_h #define base64_h #include <stdio.h> #include <Windows.h> #include <stdl 阅读全文
posted @ 2020-06-05 21:46 lyshark 阅读(4441) 评论(0) 推荐(0) 编辑
摘要:函数模板基本使用: #include <iostream> #include <typeinfo> using namespace std; // 逻辑非常相似,类型参数化,泛型编程,魔板变成 // 类型当参数穿进去。 template<class T> // 告诉编译器 下面如果出现T不要报错,T 阅读全文
posted @ 2020-05-13 15:16 lyshark 编辑
摘要:继承的基本语法: 继承的目的就是用于提高代码的可用性,减少代码的重复内容,高效开发。 #include <iostream> using namespace std; class BasePage { private: int m_x; protected: int m_y; public: voi 阅读全文
posted @ 2020-05-12 20:27 lyshark 编辑
摘要:加号运算符重载: 重载加号运算符,让 p3 = p1 + p2 改成 p3.mage = p1.mage + p2.mage 实现两个数据成员的相加。 告诉编译器,两个类中的数据成员应该怎么相加。 成员函数相加 +号运算符重载 成员函数 二元 #include <iostream> #include 阅读全文
posted @ 2020-05-12 12:17 lyshark 阅读(591) 评论(0) 推荐(0) 编辑
摘要:简单定义类 #include <iostream> #include <string> using namespace std; class Student { public: int uid; char *name; int age; public: void set(int id, char * 阅读全文
posted @ 2020-05-12 09:33 lyshark 阅读(623) 评论(0) 推荐(0) 编辑
摘要:标准命名空间 命名空间的使用 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; // 命名空间必须定义在全局的作用域下 // 命名空间可以嵌套命名空间 // 如果命名空间冲突,则会自动的合并为一个命名空间 阅读全文
posted @ 2020-05-11 15:55 lyshark 阅读(1004) 评论(0) 推荐(0) 编辑


8951858 | 6896846
博客园 - 开发者的网上家园

点击右上角即可分享
微信分享提示