E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Boolan
Boolan
泛型编程第五周笔记
一.一个万用的HashFuction三种形式:1)设计成成员函数、#includeclassCustomer{//........};classCustomerHash{public:std::size_toperator()(constCustomer&c)const{return/*........*/;}};unordered_setcustomers;2)设计成一般函数、size_tcus
Chuankuei
·
2020-07-14 20:03
【
boolan
c++】面向对象的三大方式以及设计模式
c++的面向对象有三种实现方式:1、复合compositionhas-aclassA拥有classB2、委托delegationcompositionbyreferenceclassA中有指针成员指向classB3、继承Inheritanceis-aclassB是classA的派生继承与虚函数成员函数分为non-virtual,virtual,purevirtual函数三种non-virtual函
MarsProtector
·
2020-07-14 14:44
c++
Boolan
- C++学习笔记 二 - 第二周
C++程序设计(2)第二周笔记1对象模型(objectmodel)1.1关于虚指针(virtualpoint)和虚表(virtualtable)每个具有虚函数的类的对象都有一个虚指针vptr,该指针指向虚函数表vtble,该表存放了类的所有虚函数地址,即改数组是函数指针数组。如果类A派生B,同时B重写了A的虚函数A::fun(),此时类B的对象Bb,b具有虚指针,指向类B的虚函数表,同时,A::f
amberfjx
·
2020-07-14 05:35
C++面向对象程序设计(上)第一周学习笔记——
Boolan
在完成了C++面向对象高级编程(上)第一周的学习之后,有一些总结和心得在这里通过学习笔记的方式分享出来,供也在学习C++的小伙伴们用作学习交流,如有理解不到位的地方,欢迎批评指正。一.C++与C的区别C++是在C的基础之上进化而来的,因此C++优化了C的一些不足。在C语言中,处理数据的函数和数据是分开的,而由于C语言中没有提供关键字,所以这些数据一定是全局的;因此这样一来,每个函数都可以处理这些数
GINNYAK
·
2020-07-14 03:58
Boolan
设计模式_2
主要内容:本节主要讲对象创建和接口隔离各四种设计模式。1.对象创建模式1.1工厂模式ISplitter*splitter=newBinarySplitter();这样写是编译时的依赖具体类,违反依赖倒置原则。MainForm只依赖于抽象的ISplitter和SplitterFactory,并不依赖于具体类。利用工厂方法创建具体的Splitter,延迟对象创建。1.2抽象工厂解决一系列对象创建的工作
竹林柳岸
·
2020-07-13 21:04
Boolan
-1-2 头文件与类的声明
(1)几种文件类型1).h(headerfiles)头文件,可以是类的声明也可以是标准库2).cpp文件,代码文件eg.如下的.cpp文件中,调用了两个.h文件```#include//这里的.h文件为标准库,standardlibrary#include"complex.h"//此处的.h文件为声明,classesdeclaration```3)延伸文件名(extensionfilename)不
FAN_Z
·
2020-07-13 17:11
Week7(
Boolan
)
源代码之分布VCGCCgnu2.91标准库是用genericprogramming写成的,将data和methods分开来,借助iterator迭代器让methods获取datalist不能用::sort()排序是因为全局的sort要求传入的iterator属于randomaccessiterator类型,可以类似指针一样进行+、-、*、/的操作,而list这种容器是由指针链接的一个个节点构成,并
DangerousMan
·
2020-07-13 13:00
网易云课堂(
Boolan
)C++ 第二周笔记
1、关键字class与struct使用class与struct定义类的区别在于默认访问权限,class默认private,struct默认public。定义在public之后的成员整个程序内可被访问。定义在private之后的成员可以被类的成员函数访问,但不能被使用该类的代码访问(如需访问需定义友元)。封装的益处:确保用户代码不会无意间破坏封装对象的状态,被封装的类的具体实现细节可以随时改变,而无
淡淡的悲哀
·
2020-07-12 19:10
Boolan
C++ 第九周 iterator_traits的使用
当算法传入迭代器参数的时候,算法需要迭代器的一些类型数据,所以萃取器就代替迭代器对算法做出响应templateinlinevoidrotate(_ForwardIterator__first,_ForwardIterator__middle,_ForwardIterator__last){...std::__rotate(__first,__middle,__last,std::_iterator
wild_horse
·
2020-07-12 14:04
第八周 C++标准库 体系结构与内核分析
Boolan
侯捷
生病卧床中……OTLdeque&queue和stack深度探索上容器deque容器deque分段串接deque的iteratordeque的iteratormap实际是一个vector,里面是指针iterator里面四部分cur、first、last、nodefirst和last是每一段里的首尾deque::insert()deque::insert()deque如何模拟连续空间模拟连续空间容器q
一般的路人丙
·
2020-07-12 09:00
AtomicBoolean使用
java.util.concurrent.atomic的原子变量的类;可以看到下面还有很多类似的Atomic这样的类,如下图所示这样的类具有原子性,在多线程的环境下使用是线程安全的;举个例子,在多线程环境中,我们通过判断一个
boolan
xiaoguangtouqiang
·
2020-07-10 12:38
基础知识
线程
Boolan
----C++对象模型(Object Model)
*虚指针(vptr):用于指向类中的虚函数所在的虚函数列表(vtbl),不管一共有几个虚函数,其在内存中所占的内存仅为一根虚指针的大小;与之相对,普通函数在雷的对象的内存中不占据内存空间。*假设p为指向包含虚函数表的对象的指针,则p对虚函数的调用即可写为:其中p为this指针*静态绑定:汇编语言转化之后直接指出函数地址,即call****动态绑定的限定条件:(1)通过对象指针调用该虚函数(2)该指
rrxxdd
·
2020-07-09 21:22
Boolan
_C++面向对象高级编程(上)-第1周
类的实现构造函数实现类在构造函数中进行数据成员的初始化,任何类的对象只要被创建,就会执行构造函数。设计类可以有多个构造函数,上文中第1行,第2行的函数都是构造函数。第1行的构造函数对类的成员变量进行默认的初始化,第2行的构造函数可以根据传入的参数初始化成员变量。合成默认构造函数我们已经知道构造函数是对类的成员变量进行初始化,但是当我们编写一个类,却没有编写构造函数时,我们会发现成员变量已经被初始化
ClickHouse
·
2020-07-09 19:30
lxidea的
Boolan
C++设计模式 学习笔记(三)
本周的设计模式比较多了,主要分为“对象性能”模式,“状态变化”模式,对象性能模式Singleton单件模式保证一个类仅有一个实例,并提供一个该实例的全局访问点。classSingleton{private:Singleton();Singleton(constSingleton&other);public:staticSingleton*getInstance();staticSingleton*
lxidea
·
2020-07-09 15:13
(
Boolan
) 面向对象高级编程(下)第五周笔记
对象模型vptr虚函数指针若类对象中含有虚函数,则在对象模型中会存在一根虚函数指针vtbl虚函数表虚函数指针指向一块内存,称为虚表虚表的内容是一段地址,指向该类对象在实现多态过程中虚函数实际绑定的函数this模板方法通过this指针调用虚函数指针指向虚表中实际对应的虚函数动态绑定动态绑定的实现需要满足三个条件1.使用指针调用2.存在向上转型3.调用的是虚函数const漫谈const对象可以调用co
留胡子的熊
·
2020-07-09 01:16
C++
boolan
part1_week2
BigThree三个特殊函数(拷贝构造函数、拷贝赋值函数、析构函数)1拷贝构造函数定义:如果一个构造函数的第一个参数是自身类型的引用,且任何额外的参数都有默认值,则此构造函数是拷贝构造函数。相关知识点:如果拷贝构造函数中不含指针的话,那么编译器会自动生成拷贝构造函数,一位一位得进行赋值操作,此时采用系统的默认的拷贝构造函数没有问题。但如果拷贝构造函数中有指针数据,如果还是采用默认但构造函数,则拷贝
Bigyvan
·
2020-07-07 03:39
【
Boolan
】第一周笔记
1.C++Programs基本形式#include#include"complex.h"ex.main2.C++:#includeC:#include3.头文件防卫式声明:#ifndef_COMPLEX_#define_COMPLEX_...#endif4.头文件布局1)前置声明2)类声明3)类定义5.classbody中初值写在大括号之前,养成大气的习惯6.函数在classbody内完成定义,自
听说名字长一点不会重复
·
2020-07-04 21:03
C++面向对象高级编程(上)笔记一(
Boolan
)
1.C++编程简介应具备的基础曾经学过某种procedurallanguage(C语言最佳)变量(variables)类型(types):int,float,char,struct...作用域(scope)循环(loops):while,for流程控制:if-else,switch-case知道如何建立一个可运行程序学习目标培养正规的、大气的编程习惯ObjectBased(基于对象)以良好的方式编
CarmenS233
·
2020-07-04 20:37
学习笔记第一周(
Boolan
或博览网)
一、构造函数1、与类同名2、可以在构造函数中给成员成员变量直接赋值classDate{public:Date(inty=0,intm=0,intd=0):year(y),month(m),day(d){};private:intyear;intmonth;intday;}二、运算符重载operator(){}重载成员函数,隐藏一个参数,该参数是this指针。this为调用该成员函数对象的指针。三、
污小棒
·
2020-07-04 12:31
Boolan
C++面向对象高级编程(上)第三周
类之间的关系在本次课程中,类与类之间的关系被分为三种:复合、继承、委托。复合Composition复合可以表示为has-aclassAhasaclassB.对于复合,各自负责各自的构造和析构就可以,构造Container时,需要先构造Component,这一步是由编译器来帮我们实现的。需要注意的是编译器帮我们构造Component时,采用的是默认的构造函数,若默认构造函数不是我们想要的时候,就需要
kwangxn
·
2020-07-04 12:40
Boolan
面向对象上第三周笔记
一、继承定义:新的类从已有类那里得到已有特性,原有类称为父类,新类称为子类。形式:class:{};二、复合(composition)表示hasa的关系,构造由内而外,析构由外而内。三、委托委托是一种以指针方式的复合,一个类中有指针指向另外一个类。classStringRep;//一个类classString{public:String();//另外一个String(constString&s)S
Chuankuei
·
2020-07-04 01:21
oop基础(
Boolan
)
虽然写代码有一年多了,但是转行开始写C++仍然能感觉自己基础欠缺。所以打算花几个月的时间系统的复习一下C++基础知识。C++作为一种深入底层的高级语言,根据应用目标的可以有着完全不同的应用方式,面向过程和面向对象,各有优劣。现在主要说一说面向对象的部分。根据ClassMember类型不同,我们可以简单的将Class分为有指针成员和无指针成员两种类型。从代码经验来看,大部分有一定复杂度的类都会包含指
CNClaus
·
2020-07-02 13:39
(
Boolan
) 面向对象高级编程(下)第五周笔记
对象模型vptr虚函数指针若类对象中含有虚函数,则在对象模型中会存在一根虚函数指针vtbl虚函数表虚函数指针指向一块内存,称为虚表虚表的内容是一段地址,指向该类对象在实现多态过程中虚函数实际绑定的函数this模板方法通过this指针调用虚函数指针指向虚表中实际对应的虚函数动态绑定动态绑定的实现需要满足三个条件1.使用指针调用2.存在向上转型3.调用的是虚函数const漫谈const对象可以调用co
卡尔曼
·
2020-07-02 12:22
(
Boolan
)面向对象高级编程(上)第一周笔记
1.编写头文件时要加上防卫式声明2.模板的定义和使用有时候我们不确定要定义的类里面的数据类型,因此我们使用模板来定义这个数据。这样在类实例化的时候可以临时定义它的数据类型。使用模板T时要在开头加上一句声明。3.访问级别(1)主要分为public、private、protected三种级别。主要是把函数放入public,将数据放入private封存起来。(2)构造函数放置于private区域用处:如
留胡子的熊
·
2020-07-02 12:28
STL与泛型编程 Week3 (
Boolan
) by Im4lish
1-deque&queue和stack深度探索deque与vector不同,deque看似连续,却是由多个分段空间所连接起来的。deque通过一个map来指向各个分散空间。deque的iterator构造如下图iterator其中cur指向当前的单个元素,first指向当前分段的首个元素,last指向当前分段的最后一个元素,node则指向map中当前分段的指针。startiterator的node
Im4lish
·
2020-07-02 12:55
Boolan
C++ 第二周课程--面向对象编程
一、BigThree第二周是classwithpointermembers的内容,用string来讲解。对于带指针的类有关键三个特殊函数,BigThree(三巨头)拷贝构造函数拷贝赋值函数析构函数对于带指针的类,存储的数据是指针,在构造函数要完成申请内存和拷贝字符串。析构函数完成内存的释放。二、拷贝构造函数和拷贝赋值函数2.1浅拷贝与深拷贝对于字符串常量,C++用独立的内存区域存储,简单赋值字符串
wild_horse
·
2020-07-02 08:37
Boolan
第十一周 设计模式(一)
什么是设计模式?“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”。——ChristopherAlexander软件设计的金科玉律:**复用**其实就是复用+可扩展详细来讲,就是面对新的需求以前的代码不修改(复用),而可以增加新的文件(可扩展)以适应新的需求。1TemplateMethod定义一个操作中的算法的骨架(
wild_horse
·
2020-07-01 22:52
c++ 的map、iterator用法
article/details/73028424参考:资料一:http://www.cplusplus.com/reference/iterator/(第一参考,简单精要)资料二:http://jjhou.
boolan
.com
迷之程序员
·
2020-07-01 18:15
C++
Boolan
C++面向对象高级编程(下)第四周笔记
Boolan
极客班C++开发工程师笔记。
Sylar_F
·
2020-07-01 13:54
Boolan
C++开发工程师学习笔记
Boolan
C++笔记 三
-Inheritance(继承)-Composition(复合)-Delegation(委托)复合关系下的构造和析构构造由内而外例如:Containerhas-aComponentContainer的构造函数首先调用Component的default构造函数,然后才执行自己.Container::Container(...):Component(){};析构由外而内例如:Containerhas-
Dealloc
·
2020-06-30 23:37
Boolan
设计模式-week3
“对象性能”模式Singleton模式:保证一个类仅有一个实例,并提供一个该实例的全局访问点。补充:http://blog.yangyubo.com/2009/06/04/best-cpp-singleton-pattern/http://www.blogjava.net/fhtdy2004/archive/2009/05/30/278971.html备注:publicstatic->编译时分配内
坏水强
·
2020-06-30 22:28
类的内存模型
Boolan
C++ 第四周
简单的含虚函数的基类和子类classFruit{intno;doubleweight;charkey;public:voidprint(){}virtualvoidprocess(){}};classApple:publicFruit{intsize;chartype;public:voidsave(){}virtualvoidprocess(){}};由于定义了虚函数,对于基类和子类,在内存的开
wild_horse
·
2020-06-30 11:04
lxidea的
Boolan
STL与泛型编程 学习笔记(四)
越到后面愈发感觉C++STL里面的东西实在太过庞大,尽管侯老师足够深入浅出,但对于普通C++学习者来说,冰山一角也足够喝一壶。本周的内容看起来比上周的内容更加琐碎。内容依然围绕着STL里面的六大元素进行。不过,本周似乎又再一次强调了算法这个部分。算法是固定的,通过询问迭代器问题来得到关于容器的一些信息,从而采取不同的计算策略来获得最高的效率。作业看起来一眼无法令人看懂,因此在短暂看过前面关于迭代器
lxidea
·
2020-06-30 09:50
Boolan
- C++学习笔记 _STL - 第四周
转:插入迭代器,顾名思义,插入用的;比如对于algorithm中的copy函数,123456789templateOutputIteratorcopy(InputIteratorfirst,InputIteratorlast,OutputIteratorresult){while(first!=last){*result=*first;++result;++first;}returnresult;
amberfjx
·
2020-06-28 21:33
C++赋值构造对象时,重载赋值运算符究竟是谁在调用(
Boolan
)
有这样一个类A,有它的两个对象a,b。它重载了赋值运算符。那么Aa=b;这样一条简单的语句,你们想过这里的赋值运算符是谁在调用吗?是a吗?。重载的运算符代码如下:A&A::operator=(const&ra){member=ra.member;return*this;}若调用赋值运算符的是a的话,构造函数是没有返回值的,怎么能在构造的时候使用它的成员呢?调用者是b的话,就更不可能了,若调用者是b
T4Technology
·
2020-06-28 20:04
C++
boolan
part3_week2
面向对象和泛型编程面向对象是对data和operation的封装,是对同类事物的抽象,跟结构化编程相比它更接近自然语言。泛型编程是对class和operation的抽象,对class的抽象可以说是对interface的抽象,而operation抽象则是对具有同一interface的class的operation的抽象。典型应用STL。区别:1)面向对象:封装(数据抽象)是基础,继承是手段,多态是目
Bigyvan
·
2020-06-28 20:05
网易微专业大数据工程师
本微专业由国际知名教育集团Wiley开发,面向全球化需求,并由
Boolan
博览网结合国内应用进行扩充。助你系统掌握大数据必备技能和核心技术,包括工具选择,存储、编程、处理和管理数据架构等。
weixin_34112208
·
2020-06-28 11:06
Boolan
_C++面向对象高级编程(上)_第一周笔记
1、C++编程简介C++class主要是基于对象,而classes之间的关系则是面向对象。2、头文件与类的声明(1)C的缺点数据是全局的,而C++提供了关键字,使得数据与函数包在一起,该数据只有该函数可以看到;(2)C++基本形式:头文件(.h)+主程序(.cpp)+标准库(.h);(3)任何头文件都要加防卫式声明;(4)inline函数:若在classbody里则自动成为inline候选人,是否
cayhw
·
2020-06-27 05:00
Boolan
- C++学习笔记 _设计模式 - 第 二 周
1、对象创建模式image.png2、FactoryMethod2.1模式动机现在对该系统进行修改,不再设计一个按钮工厂类来统一负责所有产品的创建,而是将具体按钮的创建过程交给专门的工厂子类去完成,我们先定义一个抽象的按钮工厂类,再定义具体的工厂类来生成圆形按钮、矩形按钮、菱形按钮等,它们实现在抽象按钮工厂类中定义的方法。这种抽象化的结果使这种结构可以在不修改具体工厂类的情况下引进新的产品,如果出
amberfjx
·
2020-06-26 23:31
【
Boolan
】 C++继承中的特点、函数和运算符重载
继承中的特点有public,protected,private三种继承方式,它们相应地改变了基类成员的访问属性。1.public继承:基类public成员,protected成员,private成员的访问属性在派生类中分别变成:public,protected,private2.protected继承:基类public成员,protected成员,private成员的访问属性在派生类中分别变成:p
黑市商人
·
2020-06-26 23:28
Boolan
——C++面向对象高级编程(上)学习笔记
一、ObjectBased(基于对象)vs.ObjectOriented(面向对象)ObjectBased:面对的是单一class的设计ObjectOriented:面对的是多重classes的设计,class与class之间的关系二、Classes的两个经典分类:(1)Classwithoutpointermemberslike:complex(2)Classwithpointermembers
变形记_0fae
·
2020-06-26 11:12
Boolan
网——C++微专业第八周学习笔记
(1)容器dequedeque的模板形式templateinlinesize_t__deque_buf_size(size_tn,size_tsz){//如果n不为0,传回n,表示buffer_size由使用者自定//如果n为0,表示buffer_size使用的时预设值:如果sz(也就是sizeof(value_tyoe))小于512,传回512/sz;否则传回1returnn!=0?n:(szd
游在路上的鱼
·
2020-06-25 20:33
Boolan
c++第一周学习笔记
1、数据与函数是构成类的基础2、declaration:头文件的防卫式申明#ifndef#define0-前置申明1-类申明2-类定义#endif3、构造函数A、构造函数名称与class一致B、有参数,有默认实参C、不需要返回类型D、尽量使用初始列4、参数传递和返回值传递有两种:byvalue和byreference,优先考虑byreference5、friend:可自由取得private里的数据
杜大勇
·
2020-06-24 21:35
第二周 C++面向对象高级编程(上)
Boolan
Classes的两个经典分类:Classwithoutpointermember(s)complexClasswithpointermember(s)stringStringclassStringclassStrings3(s1);//s3初值为s1,拷贝s3=s2;//拷贝,引发与刚才不一样的函数编译器给的默认的可以用,就用但是这里不可以用,用的话会传指针,不是真的复制。BigThree,三个特
一般的路人丙
·
2020-06-24 13:04
Boolan
c++笔记_5
前言:本次将讲解的主要内容有:有关对象模型的一些知识、const、operatornew和operatordelete这一系列的函数重载。1.对象模型1.1虚指针,虚表,动态绑定,多态当类中有虚函数时,每个实例化的对象都有一个指向虚表的指针,且每个对象有各自的虚表,虚表中存放虚函数的地址,对于各个对象来讲虚函数只有一份,各个对象通过查虚表找到虚函数。虚机制动态绑定有三个必要条件:指针,一个指针向上
竹林柳岸
·
2020-06-24 07:03
Boolan
C++面向对象高级编程(上) 第三周笔记 暗影行者
第三周结构框图:11.组合与继承12.虚函数与多态13.委托相关设计14.复合&继承关系下的构造和析构注:部分笔记写在打印出的课件上,如下第三张图片上的字11.组合与继承:前两周讲的是单个类的设计,即基于对象编程本周是讲类与类之间的关系,即面向对象编程学习类与类之间的关系,我们只需要了解以下三种关系即可:这里写图片描述先找最简单的来讲:这里写图片描述初学者可能不习惯看上面的,现在把deque替换进
hongXkeX
·
2020-06-24 02:34
Boolan
C++面向对象高级编程(上)第三周
十一、继承与组合1.面向对象编程2.复合(composition)(1)表示has-a(2)Adapter设计模式queuedeque(3)composition关系下的构造和析构Container->Component构造由内而外Container的构造函数首先调用component的default构造函数然后才执行自己。Container::Container(..):Component(){
MRSUMMER163
·
2020-06-24 00:52
C++面向对象高级编程(上)课堂笔记--
Boolan
一简介:1,C++版本通用C++98,2,书籍参考二头文件与类的声明1,有无指针在设计和思考上均不同C++withoutpointermembersC++withpointermembers指针2,ObjectBased基于对象,单一class和ObjectOriented,面向对象,对象导向,多个class之间问题,数据与函数间桥梁是什么?3,C++与C的区别4,C++基本代码形式5,C++与C
Jason_lanshe09
·
2020-06-23 23:19
2018全球机器学习技术大会议程抢鲜看!
时隔一年,
Boolan
全球机器学习技术大会强势回归。今天,2018全球机器学习技术大会议程正式公布。(点击http://ml-summit.org/?
博览网Boolan
·
2020-06-23 10:38
人工智能
Boolan
_STL与泛型编程
一、认识headers、版本、重要资源c++标准库体系结构与内核分析1.GenericProgramming(GP,泛型编程),就是使用template(模版)为主要工具来编写程序2.使用c++标准库1)c++标准库:以若干头文件的方式呈现,可看到源代码c++标准库的headfiles不带(.h),#include;新式c头文件不带.h,#include;2)旧式c头文件带有.h仍然可用,#inc
hello萌面大婶
·
2020-06-22 17:44
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他