自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 \r:回车符 与 \n:换行符

r和\n是控制字符,用于表示文本中的换行或回车操作。\r\n。

2024-07-05 11:44:44 378

原创 在Windows服务器上使用IIS时,收到404错误(找不到文件或目录)

按照以上步骤逐一检查,可以帮助你找出导致404错误的原因,并解决问题。确保文件存在、权限设置正确、IIS配置没有阻止访问、检查日志文件等都是排查问题的有效方法。如果问题仍然存在,请提供更多详细信息以便进一步分析。

2024-05-23 11:29:04 1549

原创 在centos7中利用pybind11构建C++的动态库供python调用

在 CentOS 7 中,使用 pybind11 构建 C++ 的动态库供 Python 调用涉及几个步骤:安装依赖、获取 pybind11、编写绑定代码、编译动态库,以及在 Python 中调用。

2024-02-08 22:52:27 758

原创 “Could not get lock /var/cache/apt/archives/lock. It is held by process 4901 (unattended-upgr)”解决方案

解决 Could not get lock /var/cache/apt/archives/lock. It is held by process 4901 (unattended-upgr)

2023-07-31 09:36:57 1613

原创 C++遍历文件夹

C++遍历文件夹,可在X86和X64环境下运行。

2023-07-02 17:35:53 1052

原创 `QueryPerformanceFrequency`和`QueryPerformanceCounter`函数来获取程序执行时间

C语言获取程序运行时间

2023-07-02 17:31:17 542

原创 std::resetiosflags(std::ios::fixed)的作用

详细解读std::resetiosflags(std::ios::fixed)的作用

2023-07-02 17:31:01 643

原创 sprintf, snprintf, vsnprintf 的使用方法,以及它们之间的区别

sprintf, snprintf, vsnprintf 的使用,以及它们之间的区别。

2022-12-19 18:34:16 1544 1

原创 fwrite函数,fread函数和fgets函数详解以及使用方法

fwrite函数,fread函数和fgets函数详解以及使用方法

2022-11-21 16:26:13 3102

原创 C++的文件处理&string类的知识

C++的文件处理&string类的知识

2022-11-20 17:23:35 1103

原创 C++ string转long long,substr,docker服务命令和Centos 7 配置防火墙

C++ string转long long,substr,docker服务命令和Centos 7 配置防火墙,还有c++读取文件夹下的所有文件名

2022-10-23 11:27:59 906

原创 c/c++中好用的Linux C函数

c/c++中好用的Linux C函数

2022-09-12 17:34:07 398

原创 sscanf函数的使用

sscanf函数的使用

2022-09-12 15:59:56 594

原创 套接字 - Socket编程(网络编程)

套接字 - Socket,Linux网络编程。

2022-08-14 19:36:28 419

原创 git常用命令大全

关于git

2022-07-31 12:21:50 391

原创 LINUX文件解压缩

LINUX文件解压缩命令

2022-07-10 15:11:37 17736

原创 c++中如创建对象,以及创建对象时带括号与不带括号的区别

目录一,c++如何创建对象二,创建对象时带括号与不带括号的区别1.cat对象分析2.dog对象分析3.对于内置类型的分析最后的补存(个人认为很重要)一,c++如何创建对象c++中有三种创建对象的方法第一种和第二种没有什么区别,一个是隐式调用,一个是显式调用,二者都是在进程虚拟地址空间的栈中分配内存,由系统进行释放和回收。第三种:使用new关键字,在堆区分配内存。所以new出来的对象需要程序员手动释放,否则会有内存泄漏的风险。下面会有具体的代码...

2022-05-29 17:45:49 1351 2

原创 c++11之智能指针

前言:面试的时候被问到智能指针了,答的很糟糕,这几天重新学习了智能指针。下面是我对c++智能指针的理解与总结,希望能帮到大家,同时提升自己。一,什么是智能指针在C++中没有垃圾回收机制,必须自己释放分配的内存,否则就会造成内存泄露。解决这个问题最有效的方法是使用智能指针(smart pointer)。智能指针是存储指向动态分配(堆)对象指针的类,用于生存期的控制,能够确保在离开指针所在作用域时,自动地销毁动态分配的对象,防止内存泄露。智能指针的核心实现技术是引用计数,每使用它一次,内部引用计数加1.

2022-05-18 11:27:30 26782 6

原创 c++11新特性之final 和 override关键字

目录一. final1 修饰函数2 修饰类二,override一. finalC++ 中增加了 final 关键字来限制某个类不能被继承,或者某个虚函数不能被重写。如果使用 final 修饰函数,只能修饰虚函数,并且要把final关键字放到类或者函数的后面。1 修饰函数如果使用 final 修饰函数,只能修饰虚函数,这样就能阻止子类重写父类的这个函数了class Base{public: virtual void test() ...

2022-05-11 20:52:05 661 1

原创 linux环境下的多线程编程(二)之线程同步

目录线程同步的概念同步方式一,互斥锁1.互斥锁函数1.1加锁与解锁函数2.互斥锁使用二,读写锁1.读写锁函数1.1读写锁的加锁与解锁函数2.读写锁的使用三,条件变量1 条件变量函数2 生产者和消费者(通常条件变量都是配合生产者和消费者模型进行工作)四,信号量1 信号量函数2.信号量使用(1)总资源数为 1时(2)总资源数大于 1时线程同步的概念假设有 4 个线程 A、B、C、D,当前一个线程 ...

2022-05-06 17:26:58 954

原创 linux环境下的多线程编程(一)

一,线程概述线程是轻量级的进程(LWP:light weight process),在 Linux 环境下线程的本质仍是进程。在计算机上运行的程序是一组指令及指令参数的组合,指令按照既定的逻辑控制计算机运行。操作系统会以进程为单位,分配系统资源,可以这样理解,进程是资源分配的最小单位,线程是操作系统调度执行的最小单位。二,线程函数每一个线程都有一个唯一的线程 ID,ID 类型为 pthread_t,这个 ID 是一个无符号长整形数,如果想要得到当前线程的线程 ID,可以调用如下函数:pt

2022-05-01 20:43:37 2432 1

原创 C++深拷贝与浅拷贝

深浅拷贝是面试经典问题,也是常见的一个坑浅拷贝:简单的赋值拷贝操作;深拷贝:在堆区重新申请空间,进行拷贝操作;下面直接看代码(注释很清晰,大家都能看懂)/*********************************************************** 深拷贝与浅拷贝* 浅拷贝的缺点:堆区内存重复释放* 深拷贝:在堆区重新申请空间,进行拷贝操作* ****************************************************..

2022-04-25 15:20:54 324

原创 c++的引用详解

目录1.引用的基本使用2.使用引用的注意事项3.引用于函数的配合使用1.函数参数--引用2.引用做函数返回值4.引用的本质5.常量引用1.引用的基本使用作用:给变量起别名语法:数据类型 &别名 = 原名#include <iostream>using namespace std;int main(){ int a = 10; int& b = a;//创建引用 cout << "a = " &l...

2022-04-24 17:42:04 173

原创 主存与辅存的区别

一.基本介绍1.概括cpu对所需的数据进行计算,要求很高的存储速度,且不需要能永久保存这些数据,因为高速存储设备的成本很高。但其他设备对存储速度的要求不像CPU这么高,一般要求永久保存数据。一般低速的存储设备就可以满足,且低速的存储成本也低。所以有主存和辅存之分:2.内存(主存)直接给CPU提供存储,高速,低容量,价格贵,不能永久保存数据,断电消失,需要从辅存中重新调入数据。3.外存(辅存)给主存提供数据,低速,大容量,价格低,能永久保存数据。所以更高缓存的C...

2022-04-17 17:28:46 2850

原创 Linux 环境下的动态库生成与使用

一,必要的说明1.准备测试程序测试程序可以再我的上一篇博客中(Linux 环境下的静态库生成与使用)获取。当然测试程序比较简单,大家可以自行编写。2.静态库与动态库的简要说明这里我们只讲 Linux 环境下的静态库与动态库的生成与使用, Windows直接用VS直接就能生成。在项目中使用库一般有两个目的,一个是为了使程序更加简洁不需要在项目中维护太多的源文件,另一方面是为了源代码保密,毕竟不是所有人都想把自己编写的程序开源出来。当我们拿到了库文件(动态库、静态库)之后要想使用还

2022-04-14 18:53:17 7235

原创 Linux 环境下的静态库生成与使用

一,简介这里我们只讲 Linux 环境下的静态库与动态库的生成与使用, Windows直接用VS直接就能生成。在项目中使用库一般有两个目的,一个是为了使程序更加简洁不需要在项目中维护太多的源文件,另一方面是为了源代码保密,毕竟不是所有人都想把自己编写的程序开源出来。当我们拿到了库文件(动态库、静态库)之后要想使用还必须有这些库中提供的 API 函数的声明,也就是头文件,把这些都添加到项目中,就可以快乐的写代码了。二,如何生成静态链接库在 Linux 中静态库由程序 ar 生成。.

2022-04-14 11:56:47 3651

原创 二分查找法细节整理,以及不同场景下的使用模板

目录一,前言二,细节整理,不同场景下的使用模板1.二分查找的框架2.寻找一个数(基本的二分搜索)1.为什么 while(left <= right)2.为什么left = mid + 1,right = mid - 13.此算法有什么缺陷?3.寻找左侧边界的二分搜索1.为什么 while(left <right)2.为什么left = mid + 1,right = mid ?4.寻找右侧边界的二分查找1.为什么 ...

2022-04-12 15:50:48 431

原创 合并两个有序数组

1.题目描述合并两个有序数组给你两个按 非递减顺序 排列的整数数组nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 2.的长度为 n 。.

2022-04-11 16:45:09 196

原创 c++的作用域,以及在不同的作用域下定义不同的变量会有什么区别。

1.c++有哪些作用域c++的作用域可以分为6种,分别是:全局作用域,局部作用域,类作用域,名字空间作用域,语句作用域和名字空间作用域。2.不同的作用域下定义不同的变量会有什么区别全局变量:属于全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。如果其他不包含该全局变量定义的源文件需要用extern 关键字再次声明这个全局变量,就可以在其他的源文件中使用了。 静态全局变量:属于文件作用域。它与全局变量的区别在于如果程序包含多个文件的话,它属于定义它的文件里,不能exte

2022-04-11 15:30:26 815

原创 将有序数组转换为二叉搜索树(leetcode刷题)

1.解题思路BST的中序遍历是升序的,因此本题等同于根据中序遍历的序列恢复二叉搜索树。因此我们可以以升序序列中的任一个元素作为根节点,以该元素右边的升序序列构建左子树,以该元素右边的升序序列构建右子树,这样得到的树就是一棵二叉搜索树啦~ 又因为本题要求高度平衡,因此我们需要选择升序序列的中间元素作为根节点。2.代码块/** * Definition for a binary tree node. * struct TreeNode { * int val; * Tr

2022-04-10 21:49:15 837

空空如也

空空如也

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

TA关注的人

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