驱动开发:内核CR3切换读写内存
  • 2022-09-25
  • C++
驱动开发:内核CR3切换读写内存

首先CR3是什么,CR3是一个寄存器,该寄存器内保存有页目录表物理地址(PDBR地址),其实CR3内部存放的就是页目录表的内存基地址,运用CR3切换可实现对特定进程内存地址的强制读写操作,此类读写属于

  • 2022-09-23
  • C++
static_cast和dynamic_cast

C++的强制类型转换,除了继承自C语言的写法((目标类型)表达式)之外,还新增了4个关键字,分别是:static_cast、dynamic_cast、const_cast和reinterpret_ca

  • 2022-09-21
  • C++
C++ 左值引用与一级指针

将左值引用用于一级指针时,有以下几种用法://方式一:引用一级指针,常规用法inta=5;int*pa=&a;int*&rpa=pa;//方式二:引用指向常量的一级指

9.20Leetcode记录
  • 2022-09-20
  • C++
9.20Leetcode记录

一、字符串的排列题干:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s="abc"输出:["abc","acb"

  • 2022-09-20
  • C++
通用ORM的设计与实现

介绍我们通用的ORM,基本模式都是想要脱离数据库的,几乎都在编程语言层面建立模型,由程序去与数据库打交道。虽然脱离了数据库的具体操作,但我们要建立各种模型文档,用代码去写表之间的关系等等操作,让初学

  • 2022-09-18
  • C++
C++ 左值引用与 const 关键字

左值引用是已定义的变量的别名,其主要用途是用作函数的形参,通过将左值引用变量用作参数,函数将使用原始数据,而不是副本。引用变量必须在声明时同时初始化,可将const关键字用于左值引用,如下所示:

深入理解C++的new和delete
  • 2022-09-18
  • C++
深入理解C++的new和delete

一、C++中的动态内存管理方式C语言中的动态管理方式是用malloc、free函数,它们在C++仍然可以继续使用,但是由于在部分地方略显无能为力,且使用起来比较麻烦,所以C++提出了自己的内存管理方

  • 2022-09-17
  • C++
最大公约数&最小公倍数

最大公约数辗转相除法公式:GCD(a,b)=GCD(b,a%b)cin>>a>>b;if(a<b)swap(a,b);//保证a>=bintc;wh

  • 2022-09-15
  • C++
C++处理系统相关权限问题

 1、给某个文件或文件夹赋予特定用户的特定访问权限/*给文件(夹)szPath设置用户名为pszAccount的可读可写可修改权限*/boolGiveTheAccountPrivToFil

  • 2022-09-14
  • C++
第7章 函数-C++的编程模块

说明看《C++PrimerPlus》时整理的学习笔记,部分内容完全摘抄自《C++PrimerPlus》(第6版)中文版,StephenPrata著,张海龙袁国忠译,人民邮电出版社。只做

Windows环境CMake学习笔记(一)
  • 2022-09-13
  • C++
Windows环境CMake学习笔记(一)

前言CMake是C++的必学部分,本篇文章从安装环境开始,通过使用CMake构建一个最简单的cpp项目和g++直接编译作对比了解CMake的构建过程,为接下来深入学习CMake打下基础。一、系统环

  • 2022-09-13
  • C++
C++ 函数指针(初阶)

函数的地址是存储其机器语言代码的内存的开始地址。可以编写将另一个函数的地址作为参数的函数,它允许在不同的时间传递不同函数的地址,这意味着可以在不同的时间使用不同的函数。1函数指针类型声明指向函数