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
)STL与泛型编程学习笔记(第五周)
1.一个万用的hashfunction在之前的课程中,我们知道以HashTable为底层的容器过程(如unordered_map),在使用过程中,必须要有一个hashfunction来为每一个元素生成一个hashcode作为元素在哈希表中的key,也就是元素在哈希表中的具体位置。对于一些build-in类型(比如字符串),标准库自带hashfunction,但是对于自定义类型来说,这个函数该如何定
孙浩_9bfd
·
2020-01-02 13:08
第五周 C++面向对象高级编程(下)
Boolan
8.对象模型:关于vptr和vtbl对象模型:关于vptr和vtbl有虚函数,就会多一个指针vptr,数据多4byte。继承函数继承的是调用权继承数据父类有虚函数,子类一定有。虚表virtualtablevptr指向vtblvtbl里面有指针指向虚函数Paste_Image.pngc里面调用函数,会call然后return,这叫静态绑定而有虚函数,会动态绑定(*(p->vptr)[n])(p);(
一般的路人丙
·
2020-01-01 13:04
C++设计模式第二周学习笔记——
Boolan
在完成了前两周的学习之后,对C++设计模式有了一定的认识和了解,因此有一些总结和心得在这里通过学习笔记的方式分享出来,笔记我是跟着老师在视频中所讲的内容按照顺序记录的,也不能说是流水账,对课程中的一些问题还是添加了自己的理解和分析,供也在学习C++的小伙伴用作学习交流,如有理解不到位的地方,欢迎批评指正。本周接续上一周的内容,继续学习各典型模式。7.“对象创建”模式通过“对象创建”模式绕开new,
GINNYAK
·
2019-12-25 20:09
Boolan
_C++面向对象高级编程(下)-第4周
conversionfunctionimageexplicitimage需要重点区分pointer/functionlikeclasspointer-likeclassesimagefunction-likeclassesimage这是难点,要复习templatetemplateparameterimageaboutc++11(c++2.0)imageimageimagereferenceimag
ClickHouse
·
2019-12-25 17:52
Boolan
C++ 第六周 容器
《C++primer》中所提的评价容器性能的主要两个方面:向容器添加或删除元素的代价非顺序访问容器中元素的代价C++primer第292页要想理解和熟练运用好标准库的容器,就要明白它们在实现上的不同,才能分辨出范式算法在不同容器上的不同之处。arrayarray是固定大小的容器,物理存储地址是连续的。vectorvector的物理存储地址是连续的。vector的内存空间是向后扩展的,支持push_
wild_horse
·
2019-12-25 09:56
Week6(
Boolan
)
c++标准库体系结构与内核分析c的标准库基本都是由一个个函数组成,而c++标准库由6个紧密关联的part组成泛型编程Genericprogramming,主要以模板为主要工具来编程,而STL是泛型编程最成功的作品。c++标准库c++standardlibrary>stl标准模板库standardtemplatelibrary编译器或者版本不同,标准库的差异非常小分配器支持容器的内存管理;对容器中的
DangerousMan
·
2019-12-23 03:21
Boolan
_c++第2周笔记
一、三大函数拷贝构造,拷贝赋值,析构函数1.class的两个经典分类1)classwithoutpointmember2)classwithpointmember必须自定义拷贝构造,拷贝赋值Hello没有在a里面,存在于外面的一块存储空间,指针指向hello使用默认拷贝构造,拷贝赋值,a赋给b之后,b和a一样指向hello,而忽略了自己本来指向的worldclassString{};Strings
hello萌面大婶
·
2019-12-22 23:40
Boolan
-2-1 拷贝构造、拷贝复制、析构函数
三大函数的定义:拷贝构造:一个构造函数传入的第一个参数是自身类型的引用,而且外参数都有默认值。拷贝赋值:它是对赋值运算符(=)的重载函数。析构函数:析构函数与构造函数相反,释放对象使用的资源。例子:classString{public:String{constchar*cstr=0};String{constString&str};//接受的为自己,是一种拷贝构造函数String&operator
FAN_Z
·
2019-12-22 13:00
Boolan
-1-4 参数传递与返回值
1.constmemberfunction(常量成员函数)const:不改变数据的内容2.参数传递passbyvalue和passbyreferencepassbyvalue:3.friends友元相同class的各个objects互为友元4.const的引用我们可以把引用绑定到const对象上,就像绑定到其他对象上一样,称之为对常量的引用,与普通引用不同的是,对常量的引用不能被用作修改它所绑定的
FAN_Z
·
2019-12-21 17:57
(
BOOLAN
)STL 其它
1.tuple:http://www.cplusplus.com/reference/tuple/eg:tuplet1("hello",1,1.34);autot2=make_tuple(44,33,"what");get(t1);//tuple的构造过程用到了自身的递归调用typetraits:模板类,http://en.cppreference.com/w/cpp/header/type_tr
坏水强
·
2019-12-21 17:48
Boolan
c++对象模型_内存对齐_总结
前言:c++language博大精深,需要我们透过现象看清本质才是正道。不积硅步,无以至千里;不积小流,无以成江海。坚持总结,坚持写作。下面是对第四周的作业的总结。1.对象模型图图1对象模型图2.内存对齐以下结果来自vs2017x86。Fruit占32字节,Apple占40字节。图2Fruit图3Apple3.一些相关知识点总结(1)数据类型所占字节:longint在windowsx64下也是占4
竹林柳岸
·
2019-12-19 12:55
Week4(
Boolan
)
conversionfunction转换函数:将自身转换为别的类型形式:operator+空格+转换类型{}没有参数、返回类型(与转换类型相同所以不写),加const。转换类型不一定是基本的数据类型,并且一个class中可以有多个合理的转换函数。non-explicit-one-argumentctor:将别的类型转换成自身parameter与argument一个实参argument就足够了exp
DangerousMan
·
2019-12-18 18:54
博览网/
boolan
-STL与泛型编程-第3周笔记文章
1、hashtable哈希表和数组、以及链表的对比:(1).数组的特点:寻址容易,插入和删除困难;数组存储连续,查找一个元素的时间复杂度为O(1);(2).链表的特点:寻址困难,插入和删除容易。链表存储区是离散的,遍历链表的元素的时间复杂度为O(N)。(3).hash-table是根据关键值(key-value)来直接进行访问的数据结构,它结合了数组和链表的优点。hash表的难点这里是一些联系人的
derivator
·
2019-12-17 10:45
c++ 函数的const用法和区别解析 (
Boolan
)
c++类里的成员函数有3个添加const的地方,作为返回值类型的const,作为参数值类型的const和作为函数签名的const。这三个const的作用各不相同,非常容易让人产生困惑。其中上述各个const使用的地方如下图01.const示例给出一个测试用的类classA{inti1;constintci2;public:A():i1(1),ci2(2){}voida1(constint&arg)
T4Technology
·
2019-12-14 08:03
Boolan
-Week_One
头文件和类的声明1.两种比较典型的complex和string,分别代表了是否含有指针的两种情况2.程序主要包括:头文件、源文件及标准库文件构造函数操作符重载参数传递与返回值练习问题列表1.错误列表中提示“忽略引用上的限定符”原因:在使用const时位置错误,const不能放置在引用(“&”)后面,例如int&constint_var=a2.非标准语法;请使用"&"来创建指针原因:在使用引用与指针
尘埃的落定
·
2019-12-14 04:05
(
Boolan
)C++面向对象高级编程(上)学习笔记(第一周)
正规写法总结:1.class变量的初始化,放在构造函数体前,优先使用:re(r),im(i)这种方式;2.函数要考虑是否加const修饰;3.函数参数及返回值优先考虑按引用传递,除非不能使用按引用传递才用按值传递,不会做修改的参数加const;4.数据尽可能放在private里,函数大部分放在public里。5.class的头文件,开头结尾固定写法示例如下:#ifndef__MYCOMPLEX__
孙浩_9bfd
·
2019-12-13 13:56
Boolan
Week2笔记
这周课程主要讲解了BigThree的用途写法和注意事项以及内存管理。当没有手动编写三大函数时,编译器会使用默认的一套,operator=的默认会依次复制。如果是基本数据类型自然没什么问题,但当数据成员含有指针的时候,operator的只会进行浅复制,即只是指针本身被复制,而不是指针所指向的内容被复制。为了进行深复制,需要我们单独编写。即classwithpointmembers必须有copycto
Impluse
·
2019-12-13 07:48
C++笔记2--(
Boolan
)
带指针数据成员的类classString{public:String(constchar*cstr=0);String(constString&str);//拷贝构造函数String&operator=(constString&str);//拷贝赋值函数~String();//析构函数char*get_c_str()const{returnm_data;}private:char*m_data;}
如烟四月
·
2019-12-12 03:07
(
Boolan
)Week2
1.赋值重载函数形式如下:String::operator=(constString&str)1由于进行的是深赋值,一定要判断是否是自我赋值;2.堆和栈的内存Stack:是存在作用域的一段内存空间,函数本身形成一段Stack,用来存放变量参数以及地址Heap:操作系统提供的一块全局(Global)内存空间。3.NEW的分步Complex*pc=newComplex(1,2);分解为1.viod*m
黑蚂蚁2147
·
2019-12-12 02:17
C++ STL与泛型编程-第一篇 (
Boolan
)
C++STL与泛型编程-第一篇(
Boolan
)本章内容:1C++StandardLibraryvs.StandardTemplateLibrary2C++的几个重要网页3STL相关基础知识3.1STL六大部件
Haley_2013
·
2019-12-12 01:47
Boolan
-1-5 操作符重载
操作符重载实现为类成员函数重载的操作符在类体中被声明,声明方式如同普通成员函数一样,只不过他的名字包含关键字operator,以及紧跟其后的一个c++预定义的操作符。可以用如下的方式来声明一个预定义的==操作符:classperson{private:intage;public:person(inta){this->age=a;}inlinebooloperator==(constperson&p
FAN_Z
·
2019-12-07 03:16
【
Boolan
】 C++类构造函数 、析构函数和拷贝构造函数
类的构造函数类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回void。构造函数可用于为某些成员变量设置初始值。带参数的构造函数默认的构造函数没有任何参数,但如果需要,构造函数也可以带有参数。这样在创建对象时就会给对象赋初始值。类的析构函数类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行
黑市商人
·
2019-12-06 15:44
(
Boolan
)C++设计模式 <七> ——工厂方法(Factory Method)、 抽象工厂(Abstract Factory)、原型模式(Prototype)、构建器(Builder)
“对象创建”模式通过“对象创建”模式绕开直接new一个具体的类型,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类型),从而支持对象创建的稳定。他是接口抽象之后的第一步工作。典型模式FactoryMethodAbstractFactoryPrototypeBuilder工厂方法(FactoryMethod)定义一个用于创建对象的接口,让子类决定实例化哪个类。FactoryMethod使得一
故事狗
·
2019-12-01 08:49
Boolan
(博览网)——C++面向对象高级编程(上)(第二周)
1.简单构造函数的形参名应避免和数据成员名一样同名形参屏蔽了成员变量,所以必须用this指针索引,这样程序直接查找内存地址而不是局部的:this->width=width;this->height=height;否则如下代码会让人混乱:width=width;height=height;2.CopyConstructor(拷贝构造函数)如果一个构造函数的第一个参数是自身类类型的引用,且如何额外参数
Michael_SR
·
2019-12-01 02:24
C++笔记1--(
Boolan
)
构造函数初始值列表1、如果没有在构造函数的初始值列表中显示地初始化成员,则该成员将在将在构造函数体之前执行默认初始化。2、如果成员是const或者是引用,或者属于某种未提供默认构造函数的类类型,我们必须通过构造函数初始值列表为这些成员提供初始值。3、在很多类中,初始化和赋值的区别事关底层效率的问题:前者直接初始化数据成员,后者则先初始化再赋值。#ifndef经常用于避免在一个程序中多次包含一个文件
如烟四月
·
2019-11-08 14:17
(
Boolan
)面向对象高级编程(上)第三周笔记
一、基本概念1、类的继承,是新的类从已有类那里得到已有的特性。或从已有类产生新类的过程就是类的派生。原有的类称为基类或父类,产生的新类称为派生类或子类。2、派生类的声明:class派生类名:继承方式基类名1,继承方式基类名2,...,继承方式基类名n{派生类成员声明;};3、一个派生类可以同时有多个基类,这种情况称为多重继承,派生类只有一个基类,称为单继承。直接派生,间接派生。4、继承方式规定了如
留胡子的熊
·
2019-11-08 09:54
(
Boolan
) C++面向对象高级编程(二)
之前写到了关于不带有指针的class的设计思路和注意事项,但是对于C/C++语言来说,还有一个非常重要的概念就是指针,为什么将指针作为class设计的分界点呢?那么,之前我讲了一个关于猫ヽ(=・ω・=)丿的故事,那么今天我再来讲一个关于国王和宝箱的故事吧//通过字符串数组来构造一个字符串对象的构造函数inlineString::String(constchar*cstr){//需要对传入的参数进行
故事狗
·
2019-11-07 10:10
BOOLAN
GEEKBAND STL 第三周笔记
1.STL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。Tips:STL算法作为模板函数提供。为了和其他组件相区别,在本书中STL算法以后接一对圆括弧的方式表示,例如sort()。STL另一个重要特性是它不是面向对象的。为了具有足够通
长江小杨
·
2019-11-07 03:10
(
Boolan
) STL与泛型编程第四周笔记(下)
1.C++标准库的算法,是什么东西?从语言的层面讲,STL的算法都长下面两个样子:templateAlgorithm(Iteratoritr1,Iteratoritr2){//...}templateAlgorithm(Iteratoritr1,Iteratoritr2,Cmpcomp){//...}上面这两个东西是Functiontemplate(函数模板),一般情况算法都有两个版本,一个是两个
卡尔曼
·
2019-11-06 20:19
Boolan
网——C++微专业(设计模式)第一周学习笔记
(1)设计模式简介以下代码能够实现对图形的绘制:classPoint{public:intx;inty;};classLine{public:Pointstart;Pointend;Line(constPoint&start,constPoint&end){this->start=start;this->end=end;}};classRect{public:PointleftUp;intwidt
游在路上的鱼
·
2019-11-06 02:41
STL与泛型编程第五周学习笔记——
Boolan
在完成了STL与泛型编程前四周的学习之后,有一些总结和心得在这里通过学习笔记的方式分享出来,笔记我是跟着老师在视频中所讲的内容按照顺序记录的,也不能说是流水账,对课程中的一些问题还是添加了自己的理解和分析,供也在学习C++的小伙伴用作学习交流,如有理解不到位的地方,欢迎批评指正。在STL与泛型编程前几周的课程中,老师就STL三大部件(迭代器、容器、算法)的结构与分类都做了详细的介绍,本周的课程老师
GINNYAK
·
2019-11-06 02:27
(
Boolan
) STL与泛型编程第一周笔记
1.源代码分布标准库STL的文件位置,与所采用的编译器有关:(1)VisualC++:...\include(例如D:\ProgramFiles(x86)\MicrosoftVisualStudio14.0\VC\include)(2)GNUC++:...\4.9.2\inlcude2.OOP(Object-Orientedprogramming)VSGP(Genericprogramming)O
卡尔曼
·
2019-11-05 19:54
Boolan
C++笔记 一
C++面向对象程序设计(ObjectOrientedProgramming,OOP)ObjectBased(基于对象)面对的是单一class的设计-classwithoutpointermembers-classwithpointermemebersObjectOriented(面向对象)面对的是多重classes的设计,classes和classes之间的关系-继承(inheritance)-复
Dealloc
·
2019-11-05 05:31
(
Boolan
) C++面向对象高级编程(三)
今天来看一看关于面向对象的编程的一些内容,也就是关于类和类之间的关系。类和类之间的关系其实一种抽象的描述现实世界的方法。现实生活中的事物不都和之前提到的String或者Complex一样与其他事务没有太多的联系,其实从不同角度看到事物往往会得出不同的结论。比如,生物界的划分经常是以界门纲目科属种这样的思路来划分的,找出其共性,然后再***向上抽象***得出一个概述性的大类。比如,生物学上,人被分类
故事狗
·
2019-11-05 04:01
Boolan
c++笔记_1
1.class有两种不含有指针含有指针2.基于对象与面向对象3.c++语言与c++标准库4.头文件的布局#ifndef__COMPLEX__(防止重复声明)#define__COMPLEX__0.前置声明(声明后面要用到的类和全局函数)1.类声明(classhead,classbody)2.classbody外面定义成员函数,全局函数#endif5.一些细节在classbody内部定义的是inli
竹林柳岸
·
2019-11-05 02:47
(
Boolan
)C++设计模式 <五> ——装饰模式(Decorator)
动态(组合)地给一个对象增加一些额外的指责。就增加功能而言,Decorator模式比生成子类(继承)更为灵活(消除重复代码、减少子类个数)。——《设计模式》GoF动机在某些情况下,我们可能会“过度的使用继承来扩展对象的功能”,由于继承为类型引入静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的在增多),各种子类的组合(扩展功能的组合)会导致子类的膨胀。在下面有一组伪代码,这组伪代
故事狗
·
2019-11-05 02:30
STL与泛型编程第三周学习笔记——
Boolan
在完成了STL与泛型编程前两周的学习之后,有一些总结和心得在这里通过学习笔记的方式分享出来,笔记我是跟着老师在视频中所讲的内容按照顺序记录的,也不能说是流水账,对课程中的一些问题还是添加了自己的理解和分析,供也在学习C++的小伙伴用作学习交流,如有理解不到位的地方,欢迎批评指正。上周,老师就分配器和部分容器结构做了详细的介绍,本周接着上周的内容继续学习了容器的结构与分类。一.容器dequedequ
GINNYAK
·
2019-11-04 22:19
Boolan
C++面向对象高级编程(上) 第一周笔记 暗影行者
C++面向对象高级编程第一周结构框图:1.C++编程简介2.头文件与类的声明3.构造函数4.参数传递与返回值5.操作符重载与临时对象6.复习Complex类的实现过程重点总结:(设计一个class要注意的事情)1.构造函数如:re(r)形式一定要会用2.注意考虑函数加不加const3.参数传递尽量考虑传引用,也要考虑要不要加const4.考虑返回类型是byvalue还是byreference5.数
hongXkeX
·
2019-11-04 21:50
(
Boolan
) STL与泛型编程第五周笔记
1.一个万用的hashfunction在之前的课程中,我们知道以HashTable为底层的容器过程(如unordered_map),在使用过程中,必须要有一个hashfunction来为每一个元素生成一个hashcode作为元素在哈希表中的key,也就是元素在哈希表中的具体位置。对于一些build-in类型(比如字符串),标准库自带hashfunction,但是对于自定义类型来说,这个函数该如何定
留胡子的熊
·
2019-11-03 12:17
Boolan
C++面向对象高级编程(上)第一周
一、C++编程简介C++98(1.0)C++11(2.0)二、头文件与类的说明1.基于对象与面向对象基于对象(ObjectBased):面对单一class的设计。面向对象(ObjectOriented):面对多重classes的设计,class与class之间的关系。2.classes的两个经典分类不带指针的类带指针的类3.头文件中的防卫式声明(guard)#ifndef_COMPLEX_#def
MRSUMMER163
·
2019-11-03 03:32
C++笔记第二周(
Boolan
)
BigThree:拷贝构造函数、析构函数、拷贝赋值函数字符串实现:带长度的char*不带长度,结束符约定'\0'指针new的对象,离开作用域之前要考虑delete浅拷贝要注意Memoryleak问题。拷贝赋值要检测自我赋值if(this==&xx)return*this;stack存在于scope的一块内存空间。在函数body内声明任何变量,内存块都取自stackheap有操作系统提供的一块Glo
一梦浮生_茕
·
2019-11-02 22:20
Boolan
网——C++微专业第三周学习笔记
一、对象性能模式该模式的产生背景:面向对象很好的解决了“抽象”的问题,但是必不可免地要付出一定的代价。对于通常情况来讲,面向对象的成本大都可以忽略不计。但是某些情况,面向对象所带来的成本必须谨慎处理。其典型设计模式包括:单件模式Singleton享元模式Flyweight(1)单件模式Singleton动机:在软件系统中,经常有这样一个特殊的类,必须保证它们在系统中只存在一个示例,才能确保他们的逻
游在路上的鱼
·
2019-11-02 16:54
C++面向对象高级编程(下) Week 1 (
Boolan
) by Im4lish
0-导读1-ConversionFunctionoperatortypename(){……}2-non-explicitoneargumentconstructorexplicit关键字,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。一般来说explicit多用在构造函数上。与explicit对应的还有一个implicit关键字3-
Im4lish
·
2019-11-01 18:23
Boolan
网——C++微专业第三周学习笔记
在本周首先学习了面向对象编程的三种主要模式:composition复合、delegation委托以及inheritance继承。(1)composition复合在一个类中,以另一个类作为数据成员,这种类与类之间的关系被称之复合。在上图中,使用了类模板的概念。使用classSequence=deque,类似于typedef。将deque替换至代码中:在面向对象之前,复合就已经存在了。例如C语言中的结
游在路上的鱼
·
2019-11-01 16:53
boolan
C++的big three
构造函数:给创建的对象建立一个标识符;为对象数据成员开辟内存空间;完成对象数据成员的初始化。析构函数:析构函数函数名与类名相同,紧贴在名称前面用波浪号~与构造函数进行区分,例如:~Point();构造函数没有返回类型,也不能指定参数,因此析构函数只能有一个,不能被重载;当对象被撤销时析构函数被自动调用,与构造函数不同的是,析构函数可以被显式的调用,以释放对象中动态申请的内存。当用户没有显式定义析构
切哭的小土豆
·
2019-11-01 12:43
C++特性之引用 (
Boolan
)
C++特性之引用(
Boolan
)本章内容:1引用的不同用例1.1引用变量1.2引用数据成员1.3引用参数1.4引用作为返回值1.5使用引用还是指针1.6右值引用1引用在C++中,引用是变量的别名。
Haley_2013
·
2019-11-01 12:08
boolan
/C++面向对象高级编程 part3
C++面向对象高级编程part3@(boolanC++)[C++]概述面向对象的三种关系composition组合delegation委托inheritance继承组合与继承1.composition组合hasatemplate{classqueue{...protected:dequec;public:boolempyt(){returnc.empty()}size_typesize(){ret
我才是helo
·
2019-09-21 21:27
2019最新网易微专业大数据工程师
本微专业由国际知名教育集团Wiley开发,面向全球化需求,并由
Boolan
博览网结合国内应用进行扩充。助你系统掌握大数据必备技能和核心技术,包括工具选择,存储、编程、处理和管理数据架构等。
玄月奇迹
·
2019-03-23 16:59
2018全球区块链技术大会在上海圆满落幕
上海2018年8月29日电/美通社/--2018年8月25日由博览
Boolan
主办的“2018全球区块链技术大会”在上海圆满落幕。
美通社
·
2018-08-29 10:00
2018全球机器学习技术大会7月27-28日就等你来!
Boolan
继2017年年ML-峰会上,秉承“全球专家,连接智慧”的宗旨,将于2018年7月邀请近四十位机器学习领域的技术领袖和行业应用专家,在上海举办「2018全球机器学习技术大会」。
猴子找来的救兵
·
2018-06-19 18:25
人工智能
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他