![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++语言学习
胡萝卜yueh
这个作者很懒,什么都没留下…
展开
-
C++语言之“动态数组”
#include<iostream> #include<vector> using namespace std; int main() { vector<int> dynArray(3); dynArray[0] = 365; dynArray[1] = -421; dynArray[2] = 789; cout &...原创 2018-07-14 15:49:52 · 323 阅读 · 0 评论 -
【C++标准模板库STL学习笔记】
顺序容器:按顺序存储数据,具有插入速度快但是查找操作相对较慢的特点。 std::vector 动态数组 std::deque 允许头部操作的vector std::list 操作与双向链表一样 std::forward_list 单向链表,只能沿一个方向遍历 关联容器:按指定的顺序存储数据,就像字典一样。这将降低插入数据的...原创 2019-02-26 13:55:35 · 125 阅读 · 0 评论 -
【设计模式】迭代器模式 C++ 行为型模式
迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,且不用暴露该对象的内部表示。【对象行为型模式】 定义: 分聚合类(Aggreate Classes)和迭代类(Iterator) 又名游标(Cursor)模式 访问一个聚合对象中元素但是又不用暴露它的内部结构 适用环境: 访问一个聚合对象的内容而无需暴露它的内部表示 需要为一个聚合对象提供多种遍历方式 为遍历不同的聚合机构提...原创 2018-12-03 20:29:25 · 190 阅读 · 0 评论 -
【设计模式】桥接模式 C++ 结构型模式
结构性模式 :关注如何将现有类或对象组织在一起形成更加强大的结构【对象结构性模式】 定义: 将抽象部分与它的实现部分解耦,使得两者都能够独立变化。 又称:柄体模式(Handle and Body)或接口模式(Interface) 用抽象关联取代了传统的多层继承 将类之间的静态继承关系转化成动态的对象组合关系 适用环境: 需要在抽象化和具体化之间增加更多的灵活性,避免在两个层次之间建立静...原创 2018-11-28 12:22:00 · 156 阅读 · 0 评论 -
【设计模式】适配器模式 C++ 结构型模式
结构性模式 :关注如何将现有类或对象组织在一起形成更加强大的结构 Adapter定义:将一个类的接口转化成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。 存在不兼容的结构,例如方法名不一致 适用环境: 系统需要使用一些现有的类,而这些类的接口不符合系统的需要,甚至没有这些类的源代码 创建一个可以重复使用的类,用于和一些彼此之间没有太大关联的类,包括一些可能在将来引进的...原创 2018-11-27 22:01:17 · 292 阅读 · 0 评论 -
【设计模式】原型模式 C++ 创建型模式
创建型模式 使用环境: 创建新对象成本较大,新对象可以通过复制已有对象来获得,如果是相似对象,则可以对其成员变量稍作修改 系统要保存对象的状态,而对象的状态变化很小 需要避免使用分层次的工厂类来创建分层次的对象,并且类的实例对象只有一个或很少的几个组合状态,通过复制原型对象得到新实例可能比使用构造函数创建一个新实例更加方便。 模式优点: 简化对象的创建过程,通过复制一个已有实例可以提高新...原创 2018-11-27 19:28:09 · 220 阅读 · 2 评论 -
【设计模式】建造者模式 C++ 创建型模式
建造者模式属于创建型模式 适用于: 需要生成的产品对象有复杂的内部结构 需要生成的产品对象的属性相互依赖 对象的创建过程独立于创建该对象的类 隔离复杂对象的创建和使用 模式优点: 将产品本身与产品的创建过程解耦,使得相同的创建过程可以创建不同的产品对象 每一个剧吐建造者都相对独立,与其他的具体建造者无关,因此可以很方便地替换具体建造者或增加新的具体建造者,拓展方便,符合开闭原则 可...原创 2018-11-27 15:11:10 · 197 阅读 · 0 评论 -
【设计模式】工厂模式 C++ 创建型模式
简单工厂模式 简单工厂模式其实不难理解,我们有一间食品工厂,工厂的流水线用来生产各种口味的薯片。根据市场的要求,流水线需要随时切换生产的口味。 那么问题来了。假设不使用任何设计模式,那么我们应该怎么做? 假设不使用任何设计模式,那么我们是不是应该将各种口味的薯片各自封装成一个函数,然后根据不同的需求调用不同的函数?要调用不同的函数,那么我们必须要知道代表口味的函数名称。如果有成百上千中口味呢...原创 2018-11-01 21:36:08 · 134 阅读 · 0 评论 -
【设计模式】单例模式的三种形式 C++ 创建型模式
单例模式顾名思义就是只能生成一个示例。其实在我个人不太成熟的理解上来说,单例模式的作用等同于在所有的成员变量和成员类前面加上一个“static”。所有调用这个类生成的实例都是同一个,因此我认为等同于将所有的类资源变成静态资源。 既然要有且仅有生成一个实例,那么我们需要做的就两件事。 1.将所有能够生成类实例的途径全部堵上,例如构造函数、拷贝构造函数私有化,外部无法访问也就无法通过他们生成实例了...原创 2018-10-24 18:17:47 · 235 阅读 · 0 评论 -
键盘常用ASCII码
ESC键 VK_ESCAPE (27) 回车键: VK_RETURN (13) TAB键: VK_TAB (9) Caps Lock键: VK_CAPITAL (20) Shift键: VK_SHIFT ($10) Ctrl键: VK_CONTROL (17) Alt键: VK_MENU (18) 空格键: VK_SPACE ($20/32) 退格键: VK_BACK (8) 左徽标键: VK_...原创 2018-08-29 22:59:43 · 226 阅读 · 0 评论 -
【设计模式】单例模式模板
单例模式模板: #include <iostream> using namespace std; class UA_Server{ private: UA_Server(); UA_Server(const UA_Server&); UA_Server& operator=(const UA_Server&a...原创 2018-08-13 17:00:35 · 209 阅读 · 0 评论 -
C++语言之“Boost Libraries安装使用”
Boost官方网站,可以到此处找最新版本 Boost库 1.67.0库下载地址 Boost库 1.67.0库文档 下载zip压缩包并解压后的目录结构 在vs2017中设置库文件的路径信息 以下是官方文档给出的测试程序,用来计算输入数值的3倍 // boost.cpp: 定义控制台应用程序的入口点。 // #include "stdafx.h" #include ...原创 2018-08-06 09:14:12 · 6116 阅读 · 1 评论 -
C++语言之“指针使用常见错误”
一、内存泄漏1.表现:运行时间越长,占用的内存越多,系统越慢。2.原因:使用new动态分配内存,不再需要后,没有使用配套的delete释放内存空间。二、指针指向无用单元#include<iostream> using namespace std; int main() { bool* isSunny; cout << "Is it sunny (y/n)?"; ...原创 2018-07-15 01:39:53 · 858 阅读 · 0 评论 -
C++语言之“const在指针中的使用”
指针也是一种变量。因此,指针也可以使用const,在指针中const的应用有三种形式。1.地址不能修改,指针所指的内存块的数据可以修改:int daysInMonth = 30; int* const pDaysInMonth = &daysInMonth; *pDaysInMonth = 31;//OK!! //int daysInMonth2 = 28; //pDaysInMonth...原创 2018-07-14 23:32:24 · 120 阅读 · 0 评论 -
C++语言之“指针”和“引用”
在一次面试中,主管问我什么是指针,什么是引用。我根据之前在书上学到的,巴拉巴拉讲了一大堆,什么指针是指向这个变量的地址,乱七八糟的,具体怎么讲的,后面也忘记了。面试官后面说,嗯,你说的也对,但是我可以教你。以后面试有人这么问你就讲,指针就是变量的内存地址;引用就是单向指针!!!瞬间惊到,原来自己以前都在死读书!!!亦或者是,自己对于指针就没有理解透彻,瞬间茅塞顿开!!!...原创 2018-07-14 21:23:29 · 519 阅读 · 0 评论 -
C++语言之“基于范围的for循环”
发现C++11引入的一种跟python类似的for循环——基于范围的for循环#include<iostream> #include<string> using namespace std; int main() { int someNums[] = {1,101,-1,40,1024}; for(const int& aNum : someNums) co...原创 2018-07-14 16:48:17 · 467 阅读 · 0 评论 -
C++语言之“标准字符串 std::string”
#include<iostream> #include<string> using namespace std; int main() { string greetString("Hello std::string!"); cout << greetString << endl; cout << "Enter a line of t.原创 2018-07-14 16:03:47 · 458 阅读 · 0 评论 -
【C++标准模板库STL学习笔记】STL string类
常用功能:【include<string>】 复制 连接 查找字符和子字符串 截短 使用标准模板库提供的算法实现字符串发转和大小写转换 【如果编写程序需要更好的支持非拉丁文,例如中文,则应当使用std::wstring,两者使用同一模板类,故使用方法一致!】 复制 #include <iostream> #include <string> in...原创 2019-02-26 15:49:45 · 257 阅读 · 0 评论