自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 问答 (1)
  • 收藏
  • 关注

转载 关于异常处理

异常处理

2021-11-10 10:04:17 105

原创 关于樱桃键盘锁定alt键和win键这件事

昨晚打了一盘lol,结果我发现alt+tab切换不出去了,win+alt+delete也不好使了,当时没多想。今天早上照着教程试了很多方法,也没有用。后来突然意识到我用的是cherry键盘。。。于是乎急忙去了一下官网。终于发现了问题所在。尼玛坑爹啊,可能是我误触了键盘上那个樱桃图标的按键,导致键盘自身锁死了这些关键的组合键,害的我差点没重装系统。fxxk!...

2021-10-16 12:36:06 17261 3

原创 unique_ptr的简单使用

#include <iostream>#include <memory>class T{public: T() : t(5) { } ~T() { std::cout << "destructor" << std::endl; std::cout << "t value" << t << std::endl; } T(T&& t1) { //this->t = t.

2021-10-14 19:52:56 181

原创 dynamic_cast和static_cast

#include <iostream>class F{public: F() {} //virtual ~F() {} virtual void Print() { std::cout << "F::Print()" << std::endl; }};class S : public F{public: S() {} ~S() {} void Print() { std::cout << "S::Print()" &lt

2021-10-09 17:53:04 76

原创 记一次zlib在工作中的使用情况

场景:由于fdt中的chunk(原始数据)较大,所以需要对其压缩存储。做法:参考lucene中压缩过程,发现是在每次生成chunk时对其进行压缩操作,最后写入磁盘上。解压的过程是在读取fdt文件时,加载原始数据域值时,进行解压缩。忽略掉lucene中分片压缩的操作,仅对于生成chunk进行一次压缩,此处压缩采用的便是zlib库。改动:在项目中,改动如下:压缩过程较为简单,在flush函数中操作,只需要适配compress()函数参数即可。但是解压缩uncompress第三个、第四个参数,需

2021-09-30 14:12:34 64

原创 zlib的使用

测试项目目录结构如图其中zlib源文件放置在libz目录下。将ZLib源文件编译成静态库1.在libz-cmake目录下的CMakeLists.txt中编写如下命令,生成静态库。cmake_minimum_required (VERSION 3.3)project (z)file (GLOB_RECURSE SOURCES ${CMAKE_SOURCE_DIR}/libz/*.c)file (GLOB_RECURSE HEADERS ${CMAKE_SOURCE_DIR}/libz/*.

2021-09-30 11:13:13 2197

原创 手拿把掐:类对象在进行函数传参及返回临时对象时调用过程分析

#include <iostream>using namespace std;class Person{public: Person() { std::cout << "Person()" << std::endl; } virtual ~Person() { std::cout << "~Person()" << std::endl; } Person(const Person& p) { this

2021-09-28 20:11:49 111

原创 四种类型转换的理解

const_cast该操作两句口诀:​ “常量指针转化为非常量的指针,并且指向原来的对象”​ “常量引用转化为非常量的引用,并且指向原来的对象”通俗说,该操作会去掉常量属性。例子如下:int value = 1;const int* p = &value; //此处底层const无法修改value的值//*p = 3; //无法修改指向value的值,error C3892: “p”: 不能给常量赋值int* p1 = const_cast<int*>(p);*p..

2021-08-30 12:39:48 77

原创 explicit

explicit使用当一个类的构造函数有参数的时候class T{public: /*T() { std::cout << "T()" << std::endl; }*/ T(int a) { std::cout << "T(int a)" << std::endl; std::cout << a << std::endl; }public: //int num_;};在主函数中作如下操作in

2021-08-26 14:25:53 41

原创 nullptr && auto

nullptrnullptr用以区分0和NULL,因为本质上NULL等同于0。现有函数Test(),对其进行重载void test(void* p){ std::cout << "arguement: void *" << std::endl;}void test(int a){ std::cout << "arguement: int " << std::endl;}倘若传入NULL。test(NULL);结果如图:效果等同

2021-07-02 17:19:18 45

原创 对于数组的理解

对于数组的理解疑问之处:1.数组名称代表什么?2.对数组名取地址会发生什么?3.数组的偏移结果?验证:数组名就是首元素地址int arr[5] = { 0,1,2,3,4 };printf("相同地址\n");printf("%p\n",arr); //数组名是首元素地址,对其进行*操作,得到首元素printf("%p\n",&arr); //虽然地址相同,但是对数组名取地址得到的却是整块数组地址,printf("%p\n",&arr[0]);printf("地址虽

2021-07-01 20:50:20 43

空空如也

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

TA关注的人

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