- 博客(17)
- 资源 (1)
- 收藏
- 关注
转载 设计模式及相关
一、TextQuery的类图 二、设计模式1、分类创建型设计模式:主要用于描述如何创建对象 5种。主要掌握单例模式工厂模式抽象模式结构型设计模式:主要用于描述如何实现类和对象的组合 7种。适配器组
2017-08-28 13:39:48 287
原创 C++学习笔记系列之继承多态
一、移动语义1、右值引用 有一种机制,可以在语法层面识别出临时对象,在使用临时对象构造新对象(拷贝构造)的时候,将临时对象所持有的资源『转移』到新的对象中,就能消除这种不必要的拷贝。2、左值和右值 左值和右值都是针对表达式而言的, 左值是指表达式结束后依然存在的持久对象 右值是指表达式结束时就不再存在的临时对象区分: 能...
2017-08-28 13:38:17 898 1
原创 C++空间分配器简述学习笔记
空间分配器 std:: allocator std::allocator提供的接口 ---> 位于头文件 对象的定义和空间的分配是分开的。templateclass allocator{ typedef Alloc _alloc 实现层 public: //用来申请空间,分配新的空间
2017-08-28 13:37:22 425 1
原创 c++模板概述
一、模板简介模板引入一种全新的编程思维方式,称为“泛型编程强类型程序设计中,参与运算的所有对象的类型在编译时即确定下来,并且编译程序将进行严格的类型检查。为了解决强类型的严格性和灵活性的冲突。强类型(静态)程序设计语言: C C++ Java C#弱类型 ----->Javascript PHP lua python 弱类型(动态)程序设计语言
2017-08-28 13:35:24 462
原创 解析XML文件
HTML ---> RSS源码,要求解析XML文件,它有是RSS格式的,建议使用tinyXml2解析RSS文件,故要学习tinyXml2,它在github上面。解析 XML 文件,解析 json 数据,是必备技能。在解析xml 文件时,要求提取出标题、链接、content、并且删除文章中的标记语言 ----> 这就需要字符串匹配和处理,(一般的自己写的字符串处理太繁琐,故要求利用正则表达式进
2017-08-28 13:34:34 393
原创 C++学习笔记系列四
1、一般来说,类的私有成员只能在类的内部访问,类外的函数是不能访问它们的。 但是,可以将一个函数定义为类的友元函数,这时该函数就可以访问该类的私有成员了。友元之普通函数(非成员函数,自由函数)友元之成员函数,,用到类的前向声明---->声明的是一个不完全的类。友元之类。friend Line 或friend class Line友元关系是单向的关系。不能传递,是不可继承的。只有两个有强相
2017-08-28 13:33:38 258
原创 日志单例log4cpp简述
1、log4test.cpp自动对齐 gg=G 编译使用log4cpp库的CPP文件时,要加上库文件,如下示例 g++ log4test.cpp -llog4cpp -lpthreadlog4cpp学习log4app使用单例模式。Appender可以定位日志输出信息 ,如console,或保存到文件中Category可以有不同的输出种类,Ro
2017-08-28 13:32:49 1695
原创 C++学习笔记系列三
1、new/delete扩展使用new表达式时发生的三个步骤: 调用名为operator new的标准库函数,分配足够大的原始的未类型化的内存,以保存指定类型的一个对象运行该类型的一个构造函数去初始化对象返回指向新分配并构造的构造函数对象的指针 使用delete表达式时,发生的步骤:调用对象的析构函数调用名为operator dele
2017-08-28 13:31:18 475
原创 单例设计模式
---->单例设计模式 --->可以将singleton 改成相应的名字。主要作用:是可以用来替换全局变量。全局唯一的。使用场景:配置文件的读取、词典类的实现,日至系统的输出对象自己的理解://单例设计模式,用来替代全局变量,并且该内存中只应有一个对象//分析:只能有一个对象,首先在类之外肯定不定义其他对象,故这个唯一的一个对象,必定在类之内去定义好,类之外只要访问
2017-08-28 13:29:53 224
原创 C++学习笔记系列二
1、C++程序内存分配方式 栈区(stack):由编译器自动分配释放,堆区(heap):一般由程序员分配释放,不会随着函数栈的销毁而销毁,有程序员释放,或程序执行完成,有OS回收、全局/静态区( static):全局变量和静态变量的存储,文字常量区:存放常量字符串 5)、程序代码区:存放函数体(类的成员函数、全局函数)的二进制代码栈区是
2017-08-28 13:27:47 276
原创 C++学习笔记系列一
1、 cout就是一个对象。故它可以调用 定义在名称空间中的变量或者函数都称为实体:: 是作用域限定符 ( std:: cout 在命名空间之后,可以加上提示语句,//end of namespace A;对于命名空间,除了::,外还可以使用using 命名机制,尽可能将其范围缩小。using 编译指令,(using namespace std ; 实体全部引进
2017-08-19 19:06:35 232
原创 linux下git的使用
git的使用1、初始化一个Git仓库,使用git init命令。添加文件到Git仓库,分两步: - 第一步,使用命令git add ,注意,可反复多次使用,添加多个文件; - 第二步,使用命令git commit,完成。要随时掌握工作区的状态,使用git status命令。如果git status告诉你有文件被修改过,用git diff可以查看修改内容。HEAD指向的版本就是当前版本,
2017-08-19 19:00:17 2549
原创 LINUX之网络编程j简述
一、TCP、IP概述1、tcp/ip 模型 4 层应用层{ http 超文本传输协议 ftp 文件传输协议 telnet 远程登录 ssh 安全外壳协议 stmp 简单邮件发送、pop3 收邮件} 传输层{ tcp 传输控制协议, udp 用户数据包协议} 网络层{ip 网际互联协议 icmp 网络控制消息协议 igmp 网络组管理协议} 网络接口层{arp 地址转换...
2017-08-19 18:18:28 552 2
原创 LINUX 多线程
一. Linux 多线程概述1、概述 进程是系统中程序执行和资源分配的基本单位。每个进程有自己的数据段、代码段和堆栈段。故当在进行上下文切换时,开销较大,于是出现了线程。线程通常叫做轻量级进程,线程是是进程的基本调度单元,每个进程至少都有一个 main 线程。它与同进程中的其他线程共享进程空间{堆 代码 数据 文件描述符 信号等},只拥有自己的栈空间,大大减少
2017-08-19 18:14:31 294
原创 LINUX 信号处理
LINUX 信号处理1、信号的基本概念 信号是进程在运行过程中, 由自身产生或由进程外部发过来的消息(事件)。信号是硬件中断的软件模拟(软中断)。每个信号用一个整型常量宏表示, 以 SIG 开头, 比如 SIGCHLD、 SIGINT 等,它们在系统头文件中定义,也可以通过在 shell 下键入kill –l 查看信号列表,或者键入 man 7 signal
2017-08-19 18:11:15 441
原创 进程间通信之3----信号量
进程间通信之3----信号量1、信号量信号量分为以下三种。1、System V 信号量,在内核中维护,可用于进程或线程间的同步,常 用于进程的同步。2、Posix 有名信号量, 可用于进程或线程间的同步, 常用于线程。3、Posix 基于内存的信号量,存放在共享内存区中,可用于进程或线程间的同步。为了获得共享资源进程需要执行下
2017-08-19 17:57:17 340
原创 进程间通信之2----共享内存
进程间通信之2----共享内存1、System V 共享内存机制: shmget shmat shmdt shmctl共享内存本质是一段特殊的内存区域,所有需要访问该共享区域的进程都要把该共享区域映射到本进程的地址空间中去,不同的进程可以通过对内存简单的读写,发生信息交换,从容实现通信。而这块虚拟内存的页面被每个共享进程的页表条目所引用, 同时并不需要在所有
2017-08-19 17:55:18 259
机器学习笔记(经典机器算法和大数据算法)
2018-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人