C++11:引入 nullptr 的背后故事 C++11 作为 C++ 语言的一个重要版本,引入了许多新特性,极大地提升了语言的表达力和性能。在这些新特性中,nullptr 的引入尤为重要。 从 NULL 到 nullptr:类型安全的需求 在传统的 C++ 中,空指针通常用宏 NULL 表示。NULL 通常被定义为整数 0,这是从 C 语言中继承下来的。虽然在大多数情况下使用 NULL 表示空指针是可行的,但它也带来了一些问题,尤其是在类型 开发运维 2024-05-29 法医
C# 类(Class):构建面向对象程序的基础 在C#编程中,类(Class)是面向对象编程(OOP)的核心概念之一。类是创建对象的模板,它定义了对象的属性和方法。通过类,我们可以封装数据和相关操作,从而实现代码的重用、扩展和维护。本文将深入探讨C#中的类,包括其定义、成员、构造函数、访问修饰符以及类的实例化等方面的内容。 一、类的定义 在C#中,类是一种用户自定义的数据类型,它包含数据成员(字段、属性)和函数成员(方法、事件等)。类提供了一种 开发运维 2024-05-27 共饮一杯
C# 调用外部程序的三种实现方式 C#开发中,经常需要调用外部程序或命令。这种需求可能源于多种原因,比如执行特定的系统命令、调用第三方工具或脚本,或是与其他语言编写的程序进行交互。C#提供了多种方式来调用外部程序,本文将介绍其中的三种主要方法:System.Diagnostics.Process 类、System.Shell 类(通过 Microsoft.VisualBasic.Interaction)以及使用C#的 System 开发运维 2024-05-27 大树
探索 C++ 中的 Bitset 用法 在C++标准库中,bitset是一个非常有用的工具,它可以帮助我们高效地处理位(bit)操作。在处理需要精确控制二进制位的场景中,bitset提供了一种简洁而高效的解决方案。 一、bitset的性质 1. 定义和基本性质 bitset是C++标准库中的一个模板类,用于管理和操作固定大小的二进制位集合。它的定义在头文件中。与传统的整型变量不同,bitset可以更灵活地操作单个位,而不仅仅是整个整数。 开发运维 2024-05-27 向阳逐梦
优秀 C# 通信框架推荐及介绍 在C#开发领域,有多种通信框架可供选择,它们各具特色,适用于不同的应用场景。以下是一些推荐的C#通信框架及其详细介绍。 1. SignalR SignalR 是一个由微软开发的实时通信框架。它提供了一个简单易用的API,使得开发人员能够在C#中实现实时双向通信。SignalR特别适用于需要实时交互的应用,如聊天程序、在线游戏以及协同工作工具。 特点与优势: 支持多种传输方式,包括WebSocket 开发运维 2024-05-23 LOVEHL^ˇ^
C# 线程池的使用方法 在C#中,线程池(ThreadPool)是一个用于并行处理任务的强大工具。通过使用线程池,可以有效地管理和复用线程资源,从而提高应用程序的性能和响应能力。本文将详细介绍C#线程池的使用方法,包括其基本概念、使用场景、如何创建和管理线程池,并通过示例代码展示线程池的具体应用。 一、线程池的基本概念 线程池是一种多线程处理形式,它预先创建了一组线程,并放在“池”中等待任务分配。当有新任务到来时,线程池 开发运维 2024-05-21 宇宙之一粟
为什么Oracle 12c不能直接升级到23ai? 上周参加了墨天轮组织的“墨天轮数据库沙龙-Oracle 23c to 23ai 专题活动”(https://www.modb.pro/event/1019)。在讨论环节,有位网友提了一个问题:“Oracle 12c能直接升级到23ai吗?”,这个问题我之前没有准备,但根据我的经验,我即席进行了分析。 欢迎关注我的公众号,一起学习数据库技术👇 欢迎加我的微信,拉你进数据库微信群👇 推荐文章👇 国外的 数据运维 2024-05-20 大树
oracle中一些常用函数存档 1、数值型常用函数 ceil(n) 大于或等于数值n的最小整数 floor(n) 小于等于数值n的最大整数 mod(m,n) m除以n的余数,若n=0,则返回m power(m,n) m的n次方 round(n,m) 将n四舍五入,保留小数点后m位 sign(n) 若n=0,则返回0,否则,n>0,则返回1,n 数据运维 2024-05-19 醒在深海的猫
C# 多线程编程:深入理解与应用 多线程编程是现代软件开发中不可或缺的一部分,特别是在需要处理大量并发操作或提高程序响应性的场景下。C# 作为.NET 平台的主流编程语言,提供了强大的多线程支持。本文将深入探讨C#中的多线程编程,包括基本概念、线程创建与管理、线程同步以及线程安全问题。 一、多线程基础 多线程是指在同一个程序中同时运行多个独立的线程。每个线程都有其自己的执行路径,可以并行地执行任务,从而提高程序的总体性能和响应速度 开发运维 2024-05-17 宇宙之一粟
C# 多线程编程:提升程序性能与响应能力的关键 在现今日益复杂的软件应用中,多线程编程已经成为提升程序性能和响应能力的重要手段。C#作为一种功能强大的编程语言,提供了丰富的多线程支持,使得开发者能够充分利用多核处理器的能力,优化程序运行效率。 一、多线程编程的基本概念 多线程编程是一种常用的并发编程技术,其中“线程”是程序执行流的最小单元。一个进程中可以同时运行多个线程,这些线程共享进程的内存空间,但各自拥有独立的执行路径。通过多线程技术,我们 开发运维 2024-05-17 Escape
C++ algorithm.h 头文件的常见算法的使用 C++标准库中的头文件是一个功能强大且广泛使用的工具包,提供了各种常见的算法函数,帮助开发者高效地处理数据。 algorithm.h头文件是C++标准库的一部分,它提供了大量的算法模板,可以用于解决各种复杂的计算问题。这些算法包括排序、搜索、合并、转换等,它们可以帮助我们更高效地处理数据,提高程序的性能。 1. std::sort std::sort 用于对范围内的元素进行排序。 #include 开发运维 2024-05-17 Escape
C# 特性(Attribute)详解及示例,你学会了吗? 在C#中,特性(Attribute)是一种添加到C#代码的特殊注解,它可以为程序的元素(如类、方法、属性等)附加某种元数据。这些元数据可以在运行时被读取,从而影响程序的行为或提供额外的信息。特性在.NET框架中广泛应用于多个领域,如序列化、Web服务、测试等。 特性的基本概念 特性本质上是一个类,它继承自System.Attribute。通过创建自定义的特性类,我们可以为代码元素添加任意的元数据。 开发运维 2024-05-17 法医
C#异步 Task:提升程序性能的利器 在C#编程中,异步编程是一个重要的概念,特别是在处理I/O操作、网络请求或是需要长时间运行的任务时。C# 5.0引入了async和await关键字,使得异步编程变得更加简单和直观。在这些关键字背后,是Task和Task类在起作用,它们代表了异步操作。 一、C#异步Task的概念和特点 Task是.NET Framework 4.0中引入的一个用于表示异步操作的类型。在C# 5.0及更高版本中,结合 开发运维 2024-05-16 贤蛋大眼萌
C# 中的委托与事件 在C#中,委托(Delegate)和事件(Event)是两种重要的成员,它们为类和对象提供了一种发布/订阅模型来进行事件驱动程序设计。通过这两种机制,可以将方法的引用像传递数据一样进行传递,从而实现回调函数和事件驱动的设计模式。 一、委托(Delegate) 委托在C#中是一种特殊的类型,它代表可以指向具有特定签名的方法的引用。委托的声明决定了可以引用哪种方法,即参数类型和返回值类型。委托的实例化 开发运维 2024-05-16 穿过生命散发芬芳
聊聊C#中的委托与事件 在C#编程中,委托(Delegate)和事件(Event)是两个非常重要的概念,它们允许我们实现事件驱动编程,是观察者设计模式的一种实现。委托用于定义方法的签名,并允许将方法作为参数传递或赋值给变量,而事件则用于提供类或对象状态变化的通知。 一、委托 委托是一种类型,它安全地封装了方法的签名和定义,可以被当做参数来传递。委托的声明决定了可以引用哪种方法,即参数类型和返回值类型。 下面是一个简单的委 开发运维 2024-05-15 大树
5月15日直播丨Oracle 19c多租户架构在生产实践中的应用 Oracle 于12c推出了经典的多租户架构,该架构对于数据库的运维、应用系统的运维和开发、数据库架构设计、IT基础设施运维和管理等,都产生了重要影响。Oracle 19c也集成了12c以来的所有多租户特性,在19c新的版本也引入了更新版本的特性,本次分享邀请到了有着17年以上从业经验、前Oracle ACE 皇甫晓飞老师,将结合生产实践经验,为大家详细讲解19c多租户概念和原理。 数据运维 2024-05-14 捡田螺的小男孩
C#事件:实现安全的发布/订阅模型 在C#编程中,事件是一种非常重要的机制,用于实现对象之间的解耦通信。与直接的方法调用不同,事件使用发布/订阅模型,允许事件的发送者与接收者之间保持松散耦合。这种机制在提高代码的可维护性和可扩展性方面起着关键作用。 一、事件的基本概念 在C#中,事件是一种特殊的类成员,用于提供类或对象状态变化的通知。事件使用event关键字进行声明,并且通常与委托类型相关联。委托定义了事件的签名,即事件处理程序的参 开发运维 2024-05-14 贤蛋大眼萌
MySQL的行级锁锁的到底是什么? 往期在文章《介绍Innodb的锁机制》中提到过关于记录锁,但是没有详细展开描述。本片文章简单聊一聊。 数据库的行级锁,随着锁的细粒度不同,拥有不同的命名。 记录锁(Record Lock)指的是对索引记录的锁定。 间隙锁(Gap Lock)则是对索引记录之间的间隙进行锁定。 而Next-Key Lock则是记录锁和间隙锁的融合,同时锁定索引记录和间隙。其范围为左开右闭。 什么是Record Loc 数据运维 2024-05-13 爱可生开源社区