自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(129)
  • 收藏
  • 关注

转载 文件的逻辑结构:无结构文件(流式文件)和有结构文件(记录式文件)

转载地址:https://blog.youkuaiyun.com/haiross/article/details/46829875?utm_source=blogxgwz7文件的逻辑结构是从用户观点出发看到的文件的组织形式。文件的物理结构是从实现观点出发,又称为文件的存储结构,是指文件在外存上的存储组织形式。文件的逻辑结构与存储介质特性无关,但文件的物理结构与存储介质的特性有很大关系。按逻辑结构,文...

2020-03-31 20:57:16 17319

原创 静态库,动态库,opencv

静态库是一些编译完的目标文件,与一些用得到它的目标文件进行链接,形成可执行文件了,也就是发生在链接阶段,这样形成的可执行文件的体积就会非常庞大,如果静态库发生变化,那么需要重新链接形成可执行文件。动态库文件也是编译过的目标文件,但是是需要它的目标文件在运行时一起组成可执行文件,也就是发生在运行阶段。...

2019-11-19 13:35:49 393

转载 float类型的数据在内存中的存储方式及精度问题

二进制浮点型如何存储在内存中计算机内存表示的是二进制的科学计数法,如同十进制的科学计数法一样,1000.001转换成科学技术法是1.000001*2^3,即这个数的指数位为3,由于指数位是采用移位的存储方式,所以指数位的数值为移动的位数+127(其中左移为正,右移为负),那么1.000001*2^3的指数为为3+127=130,其二进制表示为10000010,其位数部分为000001后面的零补...

2019-11-14 10:15:33 538

原创 linux中strings命令的作用

转载原文地址:https://blog.youkuaiyun.com/stpeace/article/details/50077677

2019-08-02 13:52:34 931

原创 elf文件与符号表

关于符号表:符号就是全局变量和函数名,符号表中不关注代码中的局部变量,只关注全局变量和函数,分别放在.data. .BSS .text段符号和符号表的介绍:https://www.jianshu.com/p/bda60193808d其中使用readelf -s 可查看目标文件的符号表信息节和段之间的关系:ELF 是可执行目标文件的一种格式,上计算机系统的时候曾经简略的接触到,这...

2019-08-02 09:26:29 740

转载 三目运算符跟赋值运算符的计算顺序

a=2>1?3:4可分成几个部分,用括号分开:(a=)(2>1)?(3):(4)最左边是赋值操作第二个部分是一个判断第三和第四部分是两个常数首先判断第三部分是否成立,成立即选择第三部分,否则选择第四部分像上面那个2>1成立,所以就执行了a=3赋值运算是最后一步才进行的。https://blog.youkuaiyun.com/weixin_42487516/article...

2019-07-25 14:04:49 3461

转载 c中求二维数组的行数和列数

定义一个二维数组int array[A][B],可以通过计算sizeof获取行列数。sizeof(array[0][0])为一个元素占用的空间,sizeof(array[0])为一行元素占用的空间,sizeof(array)为整个数组占用的空间,行数 = sizeof(array)/sizeof(array[0]);列数 = sizeof(array[0])/sizeof(a...

2019-07-22 19:14:07 4320 1

转载 c中指针赋值为0

指针赋值为0会得到一个空指针,null,这种现象在c中是有定义的。值为0的整形常数表达式或强制转换为void *类型的表达式可通过强制类型转换、赋值或比较操作转换为任意类型的指针。其结果将产生一个空指针。...

2019-07-22 13:39:16 7784

转载 二维字符数组与字符串数组

首先,对于一维字符数组:char a[N]={};其实最后代表的也是一个字符串字符数组的初始化有两种方式:但其实使用字符常量初始化数组的时候,可以不加上这个 '\0',而使用字符串初始化字符数组的时候,是自动加上'\0',所以要将\0占的字节大小算进去。字符数组并不要求它的最后一个字符为'\0',甚至可以不包含'\0',向下面这样写是完全合法的。char str[5]={'C'...

2019-07-22 10:46:00 3542

转载 c中int和long类型

16位系统:long是4字节,int是2字节32位系统:long是4字节,int是4字节64位系统:long是4字节,int是4字节指针长度默认是unsigned long。int的长度,是由硬件和系统共同决定的。比如当年的dos是运行在16位CPU下的,他的int就是两个字节,win95是运行在32位CPU下的,但是win95还是16位的系统设计,所以...

2019-07-17 09:20:43 4458

转载 mmap内存映射和shmget共享内存

转载原文地址:linux中的两种共享内存。一种是我们的IPC通信System V版本的共享内存,另外的一种就是我们今天提到的存储映射I/O(mmap函数)在说mmap之前我们先说一下普通的读写文件的原理,进程调用read或是write后会陷入内核,因为这两个函数都是系统调用,进入系统调用后,内核开始读写文件,假设内核在读取文件,内核首先把文件读入自己的内核空间,读完之后进程在内核回归用户...

2019-06-14 12:41:17 2399

转载 cpu结构框图

转载原文地址:https://blog.youkuaiyun.com/stpeace/article/details/80101441我们都知道CPU的根本任务就是执行指令,对计算机来说最终都是一串由“0”和“1”组成的序列。CPU从逻辑上可以划分成3个模块,分别是控制单元、运算单元和存储单元,这三部分由CPU内部总线连接起来。如下所示:控制单元:控制单元是整个CPU的指挥控制中心,由...

2019-06-02 19:30:52 22153 1

转载 linux虚拟空间布局

转载原文地址:https://www.cnblogs.com/xzzzh/p/6596982.html

2019-05-28 18:53:27 169

转载 子类的构造函数可以使用初始化列表的方式对父类的成员变量进行赋值吗?

class Rectangle{public: Rectangle() :a(0), b(0){} Rectangle(int x, int y) :a(x), b(y){}public: int a; int b;};class Square :public Rectangle{public: Square(int x):a(x) {}}...

2019-05-28 18:25:06 3013

转载 STL中的迭代器失效的问题

转载原文地址:https://blog.youkuaiyun.com/axuan_k/article/details/52588441迭代器失效,有两个层面的意思:1. 无法通过迭代器++,--操作遍历整个stl容器。记作: 第一层失效。这种情况下只需要,迭代器++到达下一个迭代器的地址即可。2. 无法通过迭代器存取迭代器所指向的内存。 记作: 第二层失效。这种情况下,通过++也已经到...

2019-05-28 15:02:39 514

转载 vector扩容原理

转载原文地址:https://blog.youkuaiyun.com/yangshiziping/article/details/52550291关于vector,始终记住它必须使用的连续空间的一片内存:在push_back的过程中,如果采用的方式是:vector<int>v;v.push_back(1);std::vector<int>::iterator ...

2019-05-28 10:40:26 1916

转载 互斥锁和条件变量

信号量(semaphore)与已经介绍过的 IPC 结构不同,它是一个计数器。信号量用于实现进程间的互斥与同步,而不是用于存储进程间通信数据。转载原文地址:https://www.jianshu.com/p/01ad36b91d39一直以来都理解错了,不是使用条件变量再加上一对互斥锁,而是条件变量内部引入一个互斥锁,其实主要还是条件变量在起作用,这样会提高效率,看下面的例子。w...

2019-05-27 00:00:23 809

转载 多进程和多线程

转载原文地址:http://www.importnew.com/21897.htmlhttps://blog.youkuaiyun.com/qq_25408423/article/details/81979072

2019-05-26 22:37:00 128

转载 linux下的内存页式管理

转载原文地址:https://blog.youkuaiyun.com/h674174380/article/details/75453750因为内存空间可能没有连续的4GB大小的空间共一个虚拟进程来运行,但是有很多不连续的物理内存空间,所以就考虑,将物理内存以4KB为单位进行划分,同样,将虚拟内存空间也以4KB为单位进行划分。将常用的4KB部分放到内存中,不常用的放在磁盘中。当有需要的进程部分需要运行...

2019-05-26 22:07:48 475

原创 map和hash map之间的区别

为什么会出现hash table,如果是用数组存储数据,如果想要找到其中一个数据,需要从头进行遍历,因为不知道这个数据存储到了数组的哪个位置。使用链表也是,需要从头节点或者尾节点开始进行遍历。如果在存储一个数据的时候,就知道它的位置,那么在查找的时候就直接根据这个位置去找这个数据。hash表就实现这样一个功能,但是因为如果不同的值映射到了一个位置,那么根据这个位置去找就找不到唯一的值,这就是哈...

2019-05-24 15:11:00 5038

转载 i2c实验

转载原文地址:https://blog.youkuaiyun.com/u012721709/article/details/47338497需要注意一点的是:当主机向从设备读数据的时候,先是起始信号,先写从设备的地址,然后发送寄存器地址,等待响应之后。需要重新发送一次起始信号,然后从设备地址加上1,代表从这个设备刚刚连接上的寄存器中是读数据,而不是写数据。...

2019-05-19 18:43:34 506

原创 判断一棵树是不是二叉搜索树

思路来源:将一颗二叉搜索树转换成双向链表,既然可以转换,那么转换过程中就可以进行判断这是不是一颗二叉搜索树,注意在递归的过程中,需要将下一个函数要比较的节点传递过去,这个需要放在递归函数中进行。tree *plistnode=nullptr;bool issearchtree(tree *root,tree* plistnode){if(root==nullptr){...

2019-05-19 16:10:06 536

转载 在一个长字符串中删除一个短字符串

转载原文地址:https://www.cnblogs.com/AndyJee/p/4676608.html输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。这里注意:从一个字符串中删除字符串的时候,如果是通过删除一个字符串就移动后面所有的字符,就非常...

2019-05-17 20:25:59 732

转载 基类指针和派生类指针之间的转换

转载原文地址:https://blog.youkuaiyun.com/dcrmg/article/details/83472660static_cast和dynamic_cast一般用于基类指针和子类指针之间的类型转换Base *P = new Derived();Derived *pd1 = static_cast<Derived *>(P);Derived *pd2 = dy...

2019-05-13 11:43:02 2241

转载 c++常见面试题

转载原文地址:https://blog.youkuaiyun.com/Dcwjh/article/details/88579450static_cast和dynamic_cast用于基类指针和派生类指针之间的转换

2019-05-13 11:25:20 110

转载 c++中return this和return *this之间的区别

转载原文地址:https://blog.youkuaiyun.com/stpeace/article/details/22220777

2019-05-12 11:31:45 869

原创 c和c++中的static的用法

1.首先在c中:有一个区域叫做全局区或者静态区,又分为data区和bss区static修饰局部变量为了使得变量具有全局性质,而修饰全局变量和函数都是为了其他的源文件不可见这个变量。static如果修饰函数中的局部变量,那么之后这个函数每次调用这个变量时,都是使用上次函数运行完成之后该变量的结果。跟函数外的全局变量作用有点相似,即这次函数A对这个变量进行修改,那么函数B使用的就是函数...

2019-05-11 21:48:50 274

原创 c++中类外访问一个类的私有成员

正常来说,类外无法访问类内的private成员,只能通过类内成员访问private成员,在类外,无论是通过类指针还是类对象都无法直接访问类中的private成员C++类中的私友成员是不能通指针操作的。#include <iostream>using namespace std;class A{int a;//privatepublic :int b;//publ...

2019-05-08 10:58:25 8935

原创 delete和free之间的区别(new,malloc)

转载原文地址:https://www.jianshu.com/p/a7912d3f3cae1.一个是操作符(new,delete),一个是函数(malloc,free)2.一个是类型安全的,可以检查(new),malloc不可以进行检查3.new使用调用构造函数,delete使用调析构函数,但是malloc和free只是开辟释放空间的作用delete:清理空间并释放空间,功能较...

2019-05-04 19:04:11 960

原创 c++中delete和析构函数之间的区别

delete=1.调用析构函数,释放对象中的成员资源 2.归还对象空间(free)其中在调用析构函数的时候,有可能还会对其他对象进行delete,然后调用这个对象的析构函数。。。看这个例子:转载原文地址:https://www.cnblogs.com/wycnb/p/4664934.htmldelete用于释放new在堆中动态生成的对象空间。释放时会...

2019-05-04 18:46:39 2286

原创 构造函数里面赋值和初始化列表的方式

首先,对于初始化列表的方式:一般不要使用this指针,因为对象此时还没有创建。但是对于构造函数赋值能不能使用:这个还不确定?放在这里。。。。。。其次,const一般不要修饰构造函数,因为这个修饰之后,构造函数里面的数据都不可以改变,这就违背使用构造函数最初的目的了(为了赋值初始化)转载原文地址:https://www.cnblogs.com/renzhuang/articles/661...

2019-05-04 17:32:06 2055

转载 c++中string类的实现

首先说明一下:拷贝构造函数和赋值函数还不一样拷贝构造函数:刚刚开辟好一块内存空间,就是利用传入的对象对这块内存进行初始化(注意深拷贝和浅拷贝的问题)拷贝构造::一种特殊的构造函数,用基于同一类的一个对象构造和初始化另一个对象。当没有拷贝构造函数时,通过默认拷贝构造函数来创建一个对象。A a;A b(a);A b= a;都是拷贝构造函数来创建对象bb 对象之前是不存在的,用a对象来...

2019-05-03 22:43:52 273

转载 拷贝构造函数与浅拷贝深拷贝的问题

转载原文地址:https://www.cnblogs.com/wuchanming/p/4050969.html拷贝构造函数跟赋值函数的区别:拷贝构造函数用于产生对象,它用于以下几个地方:函数参数为类的值类型时、函数返回值为类类型时以及初始化语句,例如(示例了初始化语句,函数参数与函数返回值为类的值类型时较简单,这里没给出示例)ClassType a; //Clas...

2019-05-03 21:33:45 1529

转载 memset引起内存泄露或者找不到虚函数的位置

转载原文地址:https://blog.youkuaiyun.com/u014053368/article/details/22595685如果在类的构造函数体中仅仅调用memset(this,0,sizeof(*this));含义是把this指向的对象的所有字节的内容都置为0.什么时候会出现问题?第一种情况:如果基类A存在虚函数,类B是这个基类的子类,在类B的构造函数体内仅仅调用mem...

2019-05-03 16:55:47 845

原创 c++中的隐式转换

首先,对于创建一个对象:1.开辟出一块空间2.往里面填充一些垃圾值3.使用构造函数对对象进行初始化这里根据写法不同编译器会选择调用普通构造函数,或者拷贝构造函数或者赋值函数进行初始化,但是使用每种方式都要避免踩到相应的坑,比如使用普通构造函数就会遇到的问题。首先,对于使用普通构造函数进行初始化对象,一般有两种方式:1.A a = A();//调用默认构造函数A a ...

2019-05-03 16:12:02 1283

原创 c++构造函数,虚函数相关问题

1.c++中内存分布的特点:全局区(静态区):全局变量,static修饰的局部变量和全局变量,编译时期已经确定常量区:const修饰的全局变量(const修饰的局部变量还是存储在栈区)和一般的常量(比如字符串),虚函数表(编译时期已经确定下来)代码区:static修饰的成员函数,一般的成员函数,代码,编译时期已经确定一般的成员变量和虚函数指针一般是分配在堆或栈中。一般const...

2019-05-03 14:33:05 1358

原创 extern和#ifndef解决多个文件使用一个全局变量的问题

转载原文地址:https://blog.youkuaiyun.com/zx824/article/details/6757710#ifndef_XX_头文件.H#define_XX_头文件.HintA;#endif那么,很糟糕的是,这里的intA是个全局变量的定义,所以如果这个头文件被多次引用的话,你的A会被重复定义显然语法上错了。只不过有了这个#ifndef的条件编译,所以能保证你的头文...

2019-04-30 14:46:03 1194

转载 c++中属性,继承和友元

第一: private,public,protected的访问范围:private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问.protected: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问public: 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问注:友元函数包括两种:设为友元的全局函...

2019-04-28 22:56:30 738

转载 虚函数和虚继承

这点没看懂,保存下来有时间看:http://blog.jobbole.com/106912/现在还有的问题就是:子类不能继承父类的构造函数,但是子类实例化对象之前,必须调用父类的构造函数,且构造函数不能为虚函数?...

2019-04-26 20:38:30 103

转载 虚函数与普通成员函数的区别

原文转载地址:https://blog.youkuaiyun.com/zxc024000/article/details/78784297

2019-04-26 19:51:09 1700

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除