大柳_
码龄4年
关注
提问 私信
  • 博客:39,599
    39,599
    总访问量
  • 37
    原创
  • 865,143
    排名
  • 8
    粉丝
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2020-11-27
博客简介:

大柳_的博客。

博客描述:
天行健,君子应以自强不息。
查看详细资料
个人成就
  • 获得32次点赞
  • 内容获得5次评论
  • 获得178次收藏
创作历程
  • 35篇
    2022年
  • 2篇
    2021年
成就勋章
TA的专栏
  • Linux
    23篇
  • leetcode刷题
    3篇
  • C++
    11篇
  • C语言
    4篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C++ | 不用额外空间反转句子

具体查看:https://blog.csdn.net/weixin_41565755/article/details/88990280。具体查看:https://blog.csdn.net/qq_40968179/article/details/104375849。3.string::nopes(配合第一个函数使用,当没搜索到时返回的数值等于nopes)1.first_of_all()(括号里是查找的值,返回匹配值的下标)给定一个字符串,逐个翻转字符串中的每个单词。2.substr()(切割字符串)
原创
发布博客 2022.08.25 ·
638 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

C++ | 菱形继承与虚继承

简单介绍一下C++中的菱形继承提示:以下是本篇文章正文内容,下面案例可供参考虚继承主要解决菱形继承中属性存在二义性的问题。
原创
发布博客 2022.08.08 ·
608 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

C++ | sort()函数使用详解

力扣347题给你一个整数数组nums和一个整数k,请你返回其中出现频率前k高的元素。你可以按任意顺序返回答案。碰到需要使用sort()函数对二维数组进行排序的情况,这里详细记录一下sort()的用法。提示以下是本篇文章正文内容,下面案例可供参考终于不看题解完成了一道medium的题目,纪念一下!!!...
原创
发布博客 2022.07.28 ·
6015 阅读 ·
9 点赞 ·
0 评论 ·
14 收藏

C++ | 四种类型转换

简单记录一下C++中常用的四种类型转换。提示以下是本篇文章正文内容,下面案例可供参考RTTI(RunTimeTypeldentification)即通过运行时类型识别,程序能够使用基类的指针或引用来检查着这些指针或引|用所指的对象的实际派生类型。RAII也称为“资源获取就是初始化”,是c++等编程语言常用的管理资源、避免内存泄露的方法。它保证在任何情况下,使用对象时先构造对象,最后析构对象。httpshttpshttpshttpshttpshttpshttpshttpshttps。......
原创
发布博客 2022.07.21 ·
4887 阅读 ·
10 点赞 ·
1 评论 ·
70 收藏

算法 | 二分查找及其变种

刷题时对于二分查找法的一些总结提示以下是本篇文章正文内容,下面案例可供参考二分查找真他妈的是个细节怪!!!https。
原创
发布博客 2022.07.19 ·
817 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

C++ | C++中二维数组创建与初始化

刷题时碰到需要用vector创建二维数组的情况,简单记录一下提示以下是本篇文章正文内容,下面案例可供参考由于C11新特性,第二种单个插入元素可以直接写成可以拿{}直接一步插入所有数据。
原创
发布博客 2022.07.15 ·
1236 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

C++ | lambda表达式

简单介绍lambda表达式以及使用方法lambda表达式是C++11最重要也最常用的一个特性之一.lambda表达式定义了一一个匿名函数,并且可以捕获一定范围内的变量。lambda 表达式的语法形式可简单归纳如下:其中: capture是捕获列表; params 是参数表; opt 是函数选项; ret 是返回值类型; body 是函数体。因此,一个完整的lambda 表达式看起来像这样:lambda表达式可以通过捕获列表捕获一定范围内的变量:● [ ]不捕获任何变量。● [&]捕获外部作用域中
原创
发布博客 2022.06.24 ·
399 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++ | shared_ptr与weak_ptr

简单介绍shared_ptr与weak_ptr,仿写系统的shared_ptr与weak_ptr,并解决循环引用的问题.shared_ptr是一种智能指针(smart pointer),作用有如同指针,但会记录有多少个shared_ptrs共同指向一个对象。这便是所谓的引用计数(reference counting)。一旦最后一个这样的指针被销毁,也就是一旦某个对象的引用计数变为0,这个对象会被自动删除。weak_ptr是为配合shared_ptr而引入的一种智能指针。2.Ref_con3.shar
原创
发布博客 2022.06.23 ·
4786 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

Linux基础 | 守护进程

守护进程是在后台为用户提供服务且不需要与用户进行交互的一种程序。**会话:**在操作系统中每打开一个中断就伴随着一个会话的产生会话首进程:在一个会话中执行的第一个进程,在Linux中一般是命令解释器**会话ID(SID):**该会话首进程的PID就是该会话的ID进程组:操作系统上每执行一个进程,就会产生一个进程组,该进程为该进程组的组长,该进程的PID为该进程组的ID(获取函数get_pgrp);2.输出结果fork();//退出父进程保留子进程setsid();//子进程移动得新会话里f
原创
发布博客 2022.06.13 ·
361 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux网络编程 | Libevent库

简单介绍libevent库以及使用Libevent 是开源社区的一款高性能的 I/O 框架库,使用 Libevent 的著名案例有:高性能的分布式内存对象缓存软件 memcached,Google 浏览器Chromium 的 Linux 版本。作为一个I/O 框架库,Libevent 具有如下特点:◼ 跨平台支持。 Libevent 支持 Linux、Unix 和 Windows。◼ 统一事件源。Libevent 对 I/O 事件、信号和定时事件提供统一的处理。◼ 线程安全。Libevent 使用 li
原创
发布博客 2022.06.13 ·
596 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux网络编程 | I/O复用之epoll(ET模式)

epoll(ET模式)以及使用方法。epoll 对文件描述符有两种操作模式:LT(Level Trigger,电平触发)模式和 ET(EdgeTrigger,边沿触发)模式。LT 模式是默认的工作模式。当往 epoll 内核事件表中注册一个文件描述符上的 EPOLLET 事件时,epoll 将以高效的 ET 模式来操作该文件描述符。对于 LT 模式操作的文件描述符,当epoll_wait 检测到其上有事件发生并将此事件通知应用程序后,应用程序可以不立即处理该事件。这样,当应用程序下一次调用 epoll_wa
原创
发布博客 2022.06.07 ·
578 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux网络编程 | I/O复用之epoll(LT模式)

epoll原理以及使用。epoll 是 Linux 特有的 I/O 复用函数。它在实现和使用上与 select、poll 有很大差异。首先,epoll 使用一组函数来完成任务,而不是单个函数。其次,epoll 把用户关心的文件描述符上的事件放在内核里的一个事件表中。从而无需像 select 和 poll 那样每次调用都要重复传入文件描述符或事件集。但 epoll 需要使用一个额外的文件描述符,来唯一标识内核中的这个事件表。◼ epoll_create()用于创建内核事件表◼ epoll_ctl()用于操作
原创
发布博客 2022.06.07 ·
288 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux网络编程 | I/O复用之poll

poll的原理以及使用。poll 系统调用和 select 类似,也是在指定时间内轮询一定数量的文件描述符,以测试其中是否有就绪者。int poll(struct pollfd fds, nfds_t nfds, int timeout)/ poll 系统调用成功返回就绪文件描述符的总数,超时返回 0,失败返回-1nfds 参数指定被监听事件集合 fds 的大小。 timeout 参数指定 poll 的超时值,单位是毫秒,timeout 为-1 时,poll 调用将永久阻塞,直到某个事件发生,timeo
原创
发布博客 2022.06.07 ·
780 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Linux网络编程 | I/O复用之select

select的原理以及使用select系统调用的用途是:在一段指定时间内,监听用户感兴趣的文件描述符的可读、可写和异常等事件。1.int select(int maxfd, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);//select 成功时返回就绪(可读、可写和异常)文件描述符的总数。如果在超时时间内没有任何文件描述符就绪,select 将返回 0。select 失败是返回-1.如果在sel
原创
发布博客 2022.06.07 ·
1056 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Linux网络编程 | HTTP、Web服务器

介绍http协议,实现简单的web服务器。http协议是应用层的协议,是对tcp协议的一种应用请求方法类型:这些方法中,HEAD、 GET、OPTIONS和TRACE被视为安全的方法,因为它们只是从服务器获得资源或信息,而不对服务器进行任何修改。POST、PUT、DELETE和PATCH则影响服务器上的资源。应答码类型:输出:在浏览器中输入www.baidu.com发生了什么?
原创
发布博客 2022.06.02 ·
207 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux网络编程 | UDP编程

浅谈UDP。UDP是一种不可靠的、无连接的、数据报服务。发送端应用程序每执行一次写操作,UDP 模块就将其封装成一个 UDP 数据报发送。接收端必须及时针对每一个 UDP 数据报执行读操作,否则就会丢包。并且,如果用户没有指定足够的应用程序缓冲区来读取 UDP 数据,则 UDP 数据将被截断。因此,采用UDP协议时必须要求接收端可以一次性收取完发送端一次发送的数据,不然就会造成数据丢失。2.客户端3.输出结果UDP是一种无连接的传输方式,所以可以多个客户端同时发送。服务器端关闭立马重启,客户
原创
发布博客 2022.06.01 ·
2991 阅读 ·
5 点赞 ·
0 评论 ·
23 收藏

Linux网络编程 | TCP详解

总结TCP相关问题TCP是一种面向链接的,可靠的,流式服务。TCP 字节流的特点,发送端执行的写操作次数和接收端执行的读操作次数之间没有任何数量关系,应用程序对数据的发送和接收是没有边界限制的。此时可以看到此时可以看到,发送端分别发送了hello world linux,而在接收端一次性收取完成,无法有效区分出三个单词,这就造成粘包问题解决方法:1.发送端每次发送之后要收到接收端的回复再进行下一次发送2.制定协议,比如长宽高分别用【长】【宽】【高】表示。可靠性:超时重传,应答确认,乱序重排流量控
原创
发布博客 2022.06.01 ·
3568 阅读 ·
1 点赞 ·
1 评论 ·
25 收藏

Linux多线程 | 线程安全、多线程中执行fork()

本篇文章主要讲述怎么保证线程安全。线程安全即就是在多线程运行的时候,不论线程的调度顺序怎样,最终的结果都是一样的、正确的。那么就说这些线程是安全的。要保证线程安全需要做到:期待输出结果:主函数依次输出 1 2 3 4 5…线程函数依次输出 a b c d e…实际输出结果:原因:因为strtok内部实现有一个全局的指针,该指针会自动记录下一次分割的位置,而在多线程中该指针可能会被同时访问,因此出现错误的情况。此时我们需要用strtok_r这个线程安全函数。输出:分析:此时子进程
原创
发布博客 2022.06.01 ·
246 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux多线程 | 线程同步

文章目录前言主要介绍四种常用的线程同步方式以及相关的函数接口。一、线程同步二、同步方法1.互斥锁2.信号量3.条件变量4.读写锁总结前言主要介绍四种常用的线程同步方式以及相关的函数接口。提示:以下是本篇文章正文内容,下面案例可供参考一、线程同步线程同步指的是当一个线程在对某个临界资源进行操作时,其他线程都不可以对这个资源进行操作,直到该线程完成操作,其他线程才能操作,也就是协同步调,让线程按预定的先后次序进行运行。线程同步的方法有四种:互斥锁、信号量、条件变量、读写锁。二、同步方法1.互斥锁
原创
发布博客 2022.05.28 ·
1401 阅读 ·
1 点赞 ·
0 评论 ·
8 收藏

Linux多线程 | 线程与进程

文章目录一、线程与进程1.什么是线程2.线程的实现方式3.线程与进程的区别二、多线程使用1.代码如下(示例):2.运行结果总结一、线程与进程1.什么是线程线程是进程内部的一条执行序列或执行路径,一个进程可以包含多条线程。2.线程的实现方式在操作系统中,线程的实现有以下三种方式:◼ 内核级线程:由内核构建,可以分配到多个核心上。◼ 用户级线程:由用户创建,只能分配到一个核心上。◼ 组合级线程3.线程与进程的区别◼进程是资源分配的最小单位,线程是 CPU 调度的最小单位◼进程有自己的独
原创
发布博客 2022.05.27 ·
151 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多