草庐IT

const_buffers

全部标签

15445第一阶段笔记+Buffer Pool(2019)

15445第一阶段笔记+BufferPool(2019)概念page与frame​ 块,页,是对同一概念的不同叫法,取决于场景不同。其表述的都是磁盘上某一柱面上的连续扇区(固定数目)。数据在磁盘和缓冲区(内存)之间传输,传输的单位就是块(页)。​ 内存区是以定长的页数组的形式组织的,其中每一个数组条目,被称为一个帧(frame)。当DBMS请求一个页时,被请求页的一份拷贝就被读取进其中一个帧中。​ 所以,page和frame实际是指的是同一个概念,bufferpool中的叫做帧,磁盘与内存之间的传输单位的叫做page或者block。pagetable​ 是一个PageID到FrameID的映射

C++学习-const

定义常量const与#define的区别:A.const常量具有类型,编译器可以进行安全检查,#define没有类型,只是简单替换字符串B.const只能定义整数或枚举的常量const修饰变量必须初始化不可修改指针与constconst位于*左侧(constint*a):const修饰的是指针所指变量const位于*右侧(int*consta):const修饰的是指针,该指针的值不可改变A.该变量不可通过const指针修改B.const变量必须使用const指针获取函数与const函数返回值前加const:函数返回的const修饰的值不能被修改函数参数加const:A.传入函数的实参,不能在函

const关键字:可改不可改?

可改不可改?常量表达式是指在编译器编译时期就可以的到值的表达式,例如:constinta=3,虽然听起来很简单,但实际上很容易犯错。本文简要总结它们的不同:关于const:顶层const和底层const一般,我们声明const用来存储不变的恒定量:constintMAXN=int_max;用指针指向:constint*pMAXN=&MAXN;这条语句开始的constint实际上是为了MAXN的类型做出的匹配,我们得到的pMAXN实际上是可修改的。那么如何让pMAXN不可修改呢?c++采用’双const‘的方法:constint*constpMAXN=&MAXN;这样,pMAXN成为了不可修改值

关于c++中的const的总结

1.为什么要用constconst本质上其实不仅仅是对变量的一个限定符,更是对程序员的一个限定符,它提醒了程序员,通过const限定的变量的值是不应该被更改的,并且当编译器得知变量或者表达式的求值结果是恒定的时候,编译器也可以在编译期大展拳脚,为我们做出一些编译期优化,进而提高我们的程序在运行时的性能(例如编译器会在编译时直接将字面值常量插入我们的代码段)。2.const的基本用法用来进行基本类型变量的声明/*const变量在初始化的时候必须赋予值*/intz;//正确:常规变量初始化可不给明确值constintx=5;//正确:以字面值常量5来进行初始化//constinty;错误:cons

C++学习-const

定义常量const与#define的区别:A.const常量具有类型,编译器可以进行安全检查,#define没有类型,只是简单替换字符串B.const只能定义整数或枚举的常量const修饰变量必须初始化不可修改指针与constconst位于*左侧(constint*a):const修饰的是指针所指变量const位于*右侧(int*consta):const修饰的是指针,该指针的值不可改变A.该变量不可通过const指针修改B.const变量必须使用const指针获取函数与const函数返回值前加const:函数返回的const修饰的值不能被修改函数参数加const:A.传入函数的实参,不能在函

const关键字:可改不可改?

可改不可改?常量表达式是指在编译器编译时期就可以的到值的表达式,例如:constinta=3,虽然听起来很简单,但实际上很容易犯错。本文简要总结它们的不同:关于const:顶层const和底层const一般,我们声明const用来存储不变的恒定量:constintMAXN=int_max;用指针指向:constint*pMAXN=&MAXN;这条语句开始的constint实际上是为了MAXN的类型做出的匹配,我们得到的pMAXN实际上是可修改的。那么如何让pMAXN不可修改呢?c++采用’双const‘的方法:constint*constpMAXN=&MAXN;这样,pMAXN成为了不可修改值

关于c++中的const的总结

1.为什么要用constconst本质上其实不仅仅是对变量的一个限定符,更是对程序员的一个限定符,它提醒了程序员,通过const限定的变量的值是不应该被更改的,并且当编译器得知变量或者表达式的求值结果是恒定的时候,编译器也可以在编译期大展拳脚,为我们做出一些编译期优化,进而提高我们的程序在运行时的性能(例如编译器会在编译时直接将字面值常量插入我们的代码段)。2.const的基本用法用来进行基本类型变量的声明/*const变量在初始化的时候必须赋予值*/intz;//正确:常规变量初始化可不给明确值constintx=5;//正确:以字面值常量5来进行初始化//constinty;错误:cons

C语言学习笔记---const关键字

1、const修饰变量被const修饰过的变量相当于常量,它的值不能被赋值改变,在整个作用域内保持固定。所以说它定义的是只读变量,在定义的时候需要给它赋初值。1constinta=1;2a=2;/*错误,常量的值不能改变*/3constinta;/*错误,常量定义时需要初始化*/2、const修饰指针1constint*p;/*常量指针,指针指向的内存可以改变,指针的值不能改变*/2int*constp;/*指针常量,指针指向的值可以改变,指针指向的内存不能改变*/3constint*constp;/*指向常量的常量指针,指针指向的值和内存都不能改变*/3、const修饰形参(1)const修

C语言学习笔记---const关键字

1、const修饰变量被const修饰过的变量相当于常量,它的值不能被赋值改变,在整个作用域内保持固定。所以说它定义的是只读变量,在定义的时候需要给它赋初值。1constinta=1;2a=2;/*错误,常量的值不能改变*/3constinta;/*错误,常量定义时需要初始化*/2、const修饰指针1constint*p;/*常量指针,指针指向的内存可以改变,指针的值不能改变*/2int*constp;/*指针常量,指针指向的值可以改变,指针指向的内存不能改变*/3constint*constp;/*指向常量的常量指针,指针指向的值和内存都不能改变*/3、const修饰形参(1)const修

muduo源码分析之Buffer

这一次我们来分析下muduo中Buffer的作用,我们知道,当我们客户端向服务器发送数据时候,服务器就会读取我们发送的数据,然后进行一系列处理,然后再发送到其他地方,在这里我们想象一下最简单的EchoServer服务器,客户端建立一个连接,以后服务器和客户端之间的通信都是通过这个connfd发送和接受数据,于是每一个connfd都应该有一个自己buffer,当我们发送数据太快,服务器发送的太慢,则服务器会将待发送的数据这个buffer中,所以这就是这个类的作用。我们先看下buffer的结构是什么:我们这里主要针对connfd这个对应的channel进行分析,首先上图是buffer的初始状态,前