logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

lambda表达式的原理和由来

Lambda表达式源自20世纪30年代的λ演算数学理论,由阿隆佐·邱奇提出,后演变为现代编程语言的核心特性。其本质是匿名函数和闭包机制,允许将函数作为数据传递。不同语言实现各异:C++通过编译期生成匿名类实现高性能仿函数;Java利用运行时invokedynamic指令动态绑定;C#则支持转换为委托或表达式树,实现代码翻译功能。Lambda的发展反映了函数式编程思想的复兴,为简化代码、提高并发安全

#java#开发语言#c++
lambda表达式的使用(2)

C++ Lambda表达式进阶特性摘要(150字) 本文介绍了C++14引入的三种高级Lambda特性:1) 广义捕获(Init-capture),支持在捕获列表中初始化新变量,是移动语义(如std::move(unique_ptr))的唯一安全实现方式;2) 泛型Lambda,通过auto参数实现类似函数模板的多类型适配;3) 可变Lambda(mutable),允许修改按值捕获的副本(不影响外

#开发语言#c++
lambda表达式的使用(1)

本文介绍了C++中lambda表达式的三种捕获方式:1. 值捕获(CopyCapture):定义时拷贝外部变量值存入闭包,默认只读且不影响外部变量;2. 引用捕获(ReferenceCapture):存储外部变量引用,操作会影响原变量,需注意变量生命周期;3. 空列表捕获(NoCapture):只能使用参数和全局变量,最轻量且可隐式转换函数指针。文章还说明了隐式捕获(&或=)、混合捕获方式

#c++
lambda表达式的使用(3)

C++17与C++20中lambda表达式引用捕获的主要区别在于对this指针的隐式处理。在C++17及以前,使用[=]或[&]时会隐式捕获this指针,允许lambda直接访问类成员(如value会被转为this->value)。C++20弃用了这一隐式规则,要求显式捕获this(如[this]或[=,this]),否则lambda无法访问类成员。例如,C++20中[=]{retu

#开发语言#c++
libevent库的介绍和使用

本文全面介绍了libevent这一轻量级、高性能的C语言事件通知库。文章首先阐述了libevent的核心价值在于跨平台和易用性,能够屏蔽底层操作系统在I/O多路复用上的差异。接着详细讲解了libevent的三个核心概念:事件基础(event_base)、事件(event)和回调函数(callback),并剖析了其作为"中间层"的工作原理——自动选择最优I/O多路复用机制(如epoll、kqueue

#c++
线程数量与CPU的关系,超线程?

本文解析了CPU核心数与并发处理能力的关系:核心数决定物理并发上限,每个核心同一时刻只能执行一个线程,超线程技术通过复用闲置资源实现逻辑并发(如4核8线程),但共享计算单元和缓存会限制性能提升。操作系统以线程为调度单位,过多的进程/线程会导致CPU时间浪费在上下文切换而非任务执行上。合理设置线程数(匹配逻辑核心数)能最大化CPU效能,而超线程因资源争抢和散热限制,实际性能无法达到翻倍效果。

#操作系统
系统调用的类型

系统调用是操作系统提供给应用程序访问内核服务的接口,用于受控地使用硬件和资源。主要类型包括:进程控制(fork、exec等)、文件操作(open、read等)、设备管理(ioctl)、信息维护(time、getpid)、进程通信(pipe)、内存管理(malloc)、信号处理(signal)、权限管理(chmod)和网络通信(socket)。这些调用通过C库封装成函数,转换为内核指令执行,是应用程

#服务器#linux#网络
c++中为什么空类型还占内存?

摘要:C++规定空类至少占用1字节空间,确保每个对象有唯一内存地址,保持指针兼容性和内存对齐要求。对类成员赋值是否调用构造函数取决于成员类型和赋值方式:内置类型直接赋值不调用构造函数;类类型在初始化列表调用构造函数,在函数体内则调用赋值运算符。这种设计保证了对象标识和内存操作的统一性。

#c++
对套接字的深入理解

这篇文章探讨了套接字编程中的核心概念,主要解答了关于客户端/服务器套接字差异、套接字本质理解等常见问题。作者认为套接字本质是网络通信的接口,通过socket()创建时是普通的本地端点,经不同操作后才具有不同功能:服务器通过listen()转为监听套接字,accept()生成新的通信套接字;客户端通过connect()建立连接。重点区分了监听套接字和已连接套接字,指出高并发场景下需要合理管理连接队列

#网络#服务器#c++ +1
c++的设计模式(常用)

摘要:本文介绍了C++中五种常用设计模式的实现与应用。单例模式确保类唯一实例,推荐使用局部静态变量实现线程安全;工厂模式解耦对象创建,包含简单工厂和工厂方法两种变体;观察者模式实现一对多依赖关系,常用于事件处理系统;策略模式封装可互换算法,消除条件判断;装饰器模式动态扩展对象功能,比继承更灵活。每种模式均配有典型应用场景和完整代码示例,展示其在C++中的具体实现方式。

#c++#设计模式#单例模式 +2
    共 14 条
  • 1
  • 2
  • 请选择