- 博客(1150)
- 收藏
- 关注

原创 2022年,我们为什么要学习C++?
当然,到处都有简单而枯燥的工作,但如果从事的是自己真心喜爱的工作,我们一般也会更有耐性。2、竞争力小,现在很多大学都主流教java,因为java相对C++简单,而且应用范围也蛮广的,但很多人觉得C++很难所以就放弃了,也就造就了C++竞争力小,而且真正的高级C++程序员很抢手的,可以说是,有钱都不一定招得到。这个时期的C++ 非常粗糙,仅支持简单的面向对象编程,也没有自己的编译器,而是通过一个预处理程序(名字叫cfront),先将C++ 代码“翻译”为C语言代码,再通过C语言编译器合成最终的程序。
2022-11-13 21:18:47
8538
5
原创 C# 不安全代码
摘要:C#中的不安全代码(unsafe)允许使用指针变量,指针存储其他变量的内存地址。声明指针时需在类型后加号,如intp。通过unsafe修饰符或代码块,可以实现指针操作、传递指针参数、访问数组元素等功能。使用指针时需注意:数组名和指针类型不同,需用fixed固定指针来访问数组元素。编译不安全代码需添加/unsafe参数或启用项目属性中的"Allow unsafe code"选项。示例演示了指针声明、数据检索、参数传递和数组访问等常见操作。
2025-07-12 20:55:32
395
原创 C# 匿名方法
C#匿名方法是通过delegate关键字创建的没有名称的代码块,可作为委托参数传递。它不需要指定返回类型,可由方法体内的return语句推断。示例展示了如何使用匿名方法创建委托实例并调用,同时比较了匿名方法与命名方法的区别。实例演示了先通过匿名方法输出参数,再用命名方法进行数值运算的过程,最终输出执行结果。
2025-07-12 20:54:03
405
原创 C# 泛型(Generic)
摘要:C#泛型允许延迟指定数据类型直到使用时,实现代码复用、类型安全和性能优化。主要包含泛型类(如MyGenericArray<T>可处理多种数据类型)、泛型方法(如Swap<T>交换不同类型值)和泛型委托(如NumberChanger<T>)。通过类型参数化,泛型支持创建灵活的数据结构和算法,同时保持编译时类型检查。.NET框架在System.Collections.Generic命名空间提供了泛型集合类,开发者也可自定义泛型接口、类、方法等。泛型技术显著提升了代码重用
2025-07-08 21:45:49
317
原创 C# 集合(Collection)
C#中的集合类用于数据存储和检索,主要包括动态数组(ArrayList)、哈希表(Hashtable)、排序列表(SortedList)、堆栈(Stack)、队列(Queue)和点阵列(BitArray)。这些类支持动态内存分配、索引访问等操作,其中ArrayList可替代数组并自动调整大小,Hashtable通过键值访问元素,SortedList结合数组和哈希表特性,Stack和Queue分别实现后进先出和先进先出操作,BitArray则用于二进制数据存储。所有集合类都基于Object类,属于System
2025-07-08 21:43:54
391
原创 C# 事件(Event)
C#事件机制基于发布-订阅模型实现对象间通信。事件是用户操作或系统通知,通过委托与处理程序关联。发布器类包含事件和委托定义,订阅器类接收事件并提供处理程序。摘要包含两个示例:1)数值变化触发事件;2)锅炉系统监控案例,当温度/压力异常时记录日志。事件使用"event"关键字声明,需先定义委托类型,通过+=添加订阅者方法。锅炉示例展示了多订阅场景,同时输出到控制台和日志文件。事件机制实现了松耦合的对象间交互。
2025-07-03 22:12:31
311
原创 C# 委托(Delegate)
C#中的委托是引用类型变量,用于存储对方法的引用。委托类似于函数指针,允许运行时动态改变方法引用。所有委托都派生自System.Delegate类,通过特定语法声明后,需用new实例化。委托支持多播(合并多个方法引用)和回调功能,并广泛应用于事件处理。示例展示了委托的声明、实例化、调用和多播操作,以及如何通过委托参数将字符串输出到不同目标(控制台/文件)。委托实现了方法的动态调用,增强了程序的灵活性。
2025-07-03 22:10:47
390
原创 C# 索引器(Indexer)
摘要: C#索引器(Indexer)允许对象像数组一样被索引,使用this关键字定义并通过[]运算符访问。索引器包含get/set访问器,类似属性但针对对象实例的特定值。示例展示了基本用法和重载特性,包括整数和字符串两种参数类型的索引器实现。索引器增强了对象的灵活性,使其能像数组一样存储和检索数据,并支持不同类型参数的多态访问。典型应用包括封装集合数据并提供更自然的访问方式。
2025-06-21 19:21:36
440
原创 C# 属性(Property)
摘要:C#属性是类、结构和接口的命名成员,通过访问器(get/set)实现对私有字段的读写操作。文章介绍了属性的基本语法和使用方法,包括在Student类中定义Code、Name、Age属性。通过示例展示了如何设置属性值并进行操作,还演示了抽象属性的实现方式。在抽象类Person中定义抽象属性,并在派生类Student中具体实现。最后展示了C#6.0简化属性语法的新特性,包括自动属性初始化和字符串插值功能。
2025-06-21 19:20:16
449
原创 C# 反射(Reflection)
C#反射机制允许程序在运行时访问、检测和修改自身的结构和行为。通过System.Reflection命名空间,开发者可以动态创建类型实例、获取类型信息及调用成员。反射提供了灵活性(如降低耦合、支持动态绑定),但也存在性能损耗和维护复杂度等问题。典型应用包括查看元数据(如自定义属性)、延迟绑定和运行时类型检查。文中通过示例展示了如何利用反射读取类和方法上的特性(Attribute)信息,如调试信息等。反射主要用于框架开发,普通应用需权衡其优缺点谨慎使用。
2025-06-20 06:51:50
526
原创 C# 特性(Attribute)
摘要:C#特性(Attribute)是用于在运行时传递程序元素行为信息的声明性标签,通过方括号([])语法添加元数据。.NET提供预定义特性(AttributeUsage、Conditional、Obsolete)和自定义特性。自定义特性需继承System.Attribute类,包含构造函数和属性,并通过反射在运行时访问。文中详细介绍了三种预定义特性的用法,并演示了如何创建和应用自定义特性(如DeBugInfo)来存储调试信息。特性为程序提供了灵活的元数据扩展机制。
2025-06-20 06:49:11
903
原创 AI 时代,为何还要学编程?
原文:AI 时代,还要不要学编程? | w3cschool笔记(请勿标记为付费)在 AI 技术飞速发展的当下,许多初学者都心存疑惑:AI时代,还要不要学编程?答案是肯定的。编程不仅仅是一种技能,更是一种独特的思维方式,能帮助我们更好地理解和探索世界。今天编程狮就来为大家深度剖析其中缘由,助力你在编程学习之路上少走弯路。编程学习的意义远超技能本身,其真正的价值在于塑造独特的思维方式。诸如变量、循环、递归、封装、调用、面向对象等编程概念,构成了一套拆解与构建世界的完整逻辑体系。以变量为例,它如同生活中的盒子,能
2025-06-17 06:00:23
838
原创 如何在 Python 中去除列表重复项并保留顺序
摘要:本文介绍4种在Python中去除列表重复项并保留原始顺序的方法:1)使用for循环逐个添加唯一项到新列表;2)通过列表推导式简化代码;3)利用OrderedDict.fromkeys()创建有序字典;4)使用functools.reduce()函数高效处理。这些方法都比直接转换为集合(set)更能保持元素顺序,适用于不同Python版本和编程场景,帮助开发者优化数据处理流程。
2025-06-10 21:22:41
563
原创 C# 文件的输入与输出
C#文件I/O操作主要通过System.IO命名空间实现。文件被视为字节流,包含输入流(读取)和输出流(写入)。核心类包括FileStream(文件读写)、BinaryReader/BinaryWriter(二进制数据)、StreamReader/StreamWriter(文本数据)等。FileStream类提供多种文件打开模式(Open/Create/Append等)、访问权限(Read/Write)和共享选项。示例展示了使用FileStream读写字节数据的基本方法。此外,C#还支持目录操作、内存流处理
2025-06-10 21:20:57
991
原创 如何用 HTML 展示计算机代码
HTML(HyperText Markup Language)是用于创建网页的标准标记语言。它通过一系列的标签(tags)来定义网页的结构和内容,浏览器会根据这些标签来解析和显示网页。HTML 是所有网页开发的基础,无论你是想成为前端开发工程师还是全栈开发工程师,掌握 HTML 都是必不可少的。
2025-06-06 21:13:50
1279
原创 如何使用 Markdown 展示计算机代码:零基础入门指南
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成结构化的 HTML(或者其他格式)。Markdown 的语法简洁明了,易于上手,特别适合编程人员用来记录代码和编写技术文档。
2025-06-06 21:11:34
691
原创 如何在 HTML 中添加按钮
本文介绍了HTML中添加按钮的两种主要方法:使用<button>标签和<input>标签,并详细说明了两者的基本语法和常用属性。文章还讲解了三种按钮样式定制方式(内联样式、内部样式表和外部样式表)以及如何通过JavaScript添加交互效果。最后提供了一个完整的按钮示例,展示了样式与功能的结合应用。这些内容可以帮助开发者快速掌握HTML按钮的创建与定制技巧。
2025-06-04 19:12:01
1495
原创 如何使用 HTML、CSS 和 JavaScript 随机更改图片颜色
摘要:本教程介绍了两种使用HTML、CSS和JavaScript随机更改图片颜色的方法。方法一通过Math.random()生成RGB颜色值,利用mix-blend-mode实现颜色混合;方法二使用十六进制颜色代码,通过点击按钮随机更换图片背景色。两种方法均包含完整的代码示例和详细解析,涉及HTML结构搭建、CSS样式设计及JavaScript交互实现。教程适合前端初学者,能帮助理解动态效果制作原理,提升网页交互体验。(149字)
2025-06-04 19:10:40
1115
原创 C# 异常处理
C#异常处理机制使用try、catch、finally和throw四个关键词来处理程序运行时出现的异常情况。try块包含可能引发异常的代码,catch块捕获并处理特定类型的异常,finally块则无论是否发生异常都会执行。常见的系统异常类包括DivideByZeroException、NullReferenceException等,均派生自System.Exception。开发者还可通过继承ApplicationException类创建自定义异常。异常处理将核心代码与错误处理逻辑分离,确保程序健壮性,示例展
2025-06-01 19:43:22
597
原创 为啥 Java 命名规范如此重要?新手必知的命名规则详解
Java命名规范至关重要,它提升代码可读性、便于团队协作、利于后续维护。主要规则包括:包名全小写(如com.w3cschool.java);接口和类名采用首字母大写的驼峰式(如W3CschoolClass);方法名使用首字母小写的驼峰式(如displayMessage);变量名同样小写开头驼峰式(如studentId);常量名全大写下划线分隔(如MAX_SCORE)。规范命名能显著提高代码质量,避免维护困难。编程狮平台提供相关课程帮助掌握这些规范。
2025-06-01 19:41:15
955
原创 C# 正则表达式
摘要: 本文介绍了C#中的正则表达式使用,包括基本概念、语法结构和实际应用。文章详细解析了正则表达式的核心组件:字符转义、字符类、定位点、分组构造、限定符等语法元素,并通过具体示例说明其匹配规则。同时还介绍了Regex类的常用方法,如IsMatch、Matches、Replace等,并通过三个实例演示了如何匹配特定模式的单词和替换多余空格。文中提供了完整的代码示例,帮助开发者快速掌握C#正则表达式的使用方法。
2025-05-30 21:11:54
732
原创 HTML 文件反编译指南:优化与学习网页代码
本文深入探讨了 HTML 文件反编译的多种方法,涵盖在浏览器中查看源代码、借助开发者工具以及运用在线 HTML 工具等。通过这些方法,不仅能轻松获取网页 HTML 代码,还能进一步分析、修改和测试代码,助力学习前端开发技能。无论你是出于优化网页性能、学习优秀代码范例,还是调试网页内容的目的,这些 HTML 文件反编译技巧都能成为你网页开发之路上的得力助手。
2025-05-30 21:06:37
881
原创 C# 类命名规则详解:打造高效代码的第一步
《C#类命名规范指南》摘要:本文详细介绍了C#中的类命名规范,强调使用PascalCasing风格(首字母大写)命名类、结构体等类型,推荐采用名词或名词短语作为类名,确保名称具有描述性并避免缩写。文章还涵盖了命名空间、字段、方法等元素的命名规则,对比了不规范与规范命名的差异,指出良好命名习惯对代码可读性和团队协作的重要性。内容来自w3cschool编程学习平台,适用于C#初学者掌握基本命名规范。
2025-05-29 20:57:42
852
原创 C# 预处理器指令
C#预处理器指令以#开头,用于条件编译,指导编译器在编译前预处理信息。主要指令包括#define(定义符号)、#if(条件测试)、#error(生成错误)等。与C/C++不同,它们不能创建宏。示例演示了如何使用#define和#if进行条件判断,如测试符号是否定义并输出相应结果。条件指令支持逻辑运算符组合测试,常用于调试版本或特定配置的代码编译。
2025-05-25 08:57:15
602
原创 Python 中文叫啥?一篇文章带你深入了解
摘要:Python中文名为"蟒蛇"或"派森",是一门简洁易读的解释型编程语言,具有动态类型和丰富的库支持。其应用领域广泛,包括Web开发、数据分析、人工智能等。作为入门友好的语言,Python适合编程新手学习,专业平台如编程狮提供从基础到进阶的系统教程。
2025-05-25 08:55:35
796
原创 C# 命名空间(Namespace)
C#中的命名空间(Namespace)用于组织代码,避免名称冲突。通过namespace关键字定义命名空间,可以在不同命名空间中使用相同的类名。调用命名空间中的成员时,需使用完全限定名称,如namespace_name.item_name。using关键字可以简化代码,避免重复书写命名空间。命名空间还支持嵌套定义,通过点运算符访问嵌套命名空间的成员。示例代码展示了如何定义、调用和嵌套命名空间,并演示了using关键字的使用。
2025-05-22 18:25:57
426
原创 鸿蒙 NEXT 是啥意思?一篇文章带你了解
鸿蒙NEXT,即HarmonyOS NEXT,是华为于2024年发布的全新原生鸿蒙操作系统,标志着国产操作系统在自主可控方面迈出了重要一步。该系统从内核到编程语言、AI大模型等均实现自研,不再依赖国外技术。鸿蒙NEXT采用微内核设计,提升了性能和安全性,整机性能较前代提升30%,功耗降低20%。其AI能力深度融入系统,支持自适应交互优化和AI与区块链的融合,增强了用户体验和数据安全。此外,鸿蒙NEXT的分布式技术实现了多设备无缝协同,支持一次开发多端部署,广泛应用于智能手机、平板、智能穿戴等多种设备。开发方
2025-05-22 18:17:16
645
原创 C#接口(Interface)全方位讲解:定义、特性、应用与实践
在面向对象编程中,接口(Interface)是一种定义行为规范的结构,强调“做什么”而非“怎么做”,为多态、解耦和扩展性提供基础。C#作为支持多态的现代编程语言,提供了丰富的接口支持。本文深入探讨了C#中接口的定义、语法、特性、实现、多继承及设计原则,并介绍了其在实际开发中的应用技巧。接口通过定义抽象成员,要求实现类提供具体逻辑,支持属性、事件和索引器,且可继承多个接口。设计时应遵循接口隔离原则,避免“胖接口”,利用接口实现多态性和依赖倒转原则,提升系统的灵活性和可维护性。接口与抽象类的主要区别在于成员定义
2025-05-18 14:15:21
856
原创 2025CSDI:大模型引领智能研发与IT组织变革
文章探讨了2025年大模型在智能研发与IT组织变革中的引领作用。AI技术的发展将推动私有知识的价值提升,并成为企业战略优先级,解决信息不对称和价值创造问题。智能研发将带来业务比值和内部比例的变化,重新定义行业壁垒。文章回顾了计算机发展历史,从ENIAC到个人电脑,再到AI的认知模式差异和效率定义。智能经济与具有创造力的组织将成为未来经济发展的核心,AI将重构企业生产力上限,推动智能生产效应。基础模型从技术能力转变为产业化能力,AI产业需要智力的深度投入,呈现出不对称性特征。AI将极大助力从业者提升知识的获取
2025-05-18 14:06:20
907
原创 手把手教你用HTML/CSS/JS打造浪漫520爱心页面
本文介绍了如何使用HTML、CSS和JavaScript创建一个浪漫的520爱心告白页面。页面包含动态跳动的爱心、诗意告白文字、点击生成爱心效果以及自动下落的爱心雨。通过详细的代码解析,展示了如何实现响应式布局、动画效果、文字阴影和居中定位等关键功能。此外,还提供了完整的源代码和运行方法,帮助零基础的学习者快速上手。建议读者尝试修改页面元素,进一步探索CSS和JavaScript的高级功能,以创建个性化的互动页面。
2025-05-16 21:21:14
459
原创 Python 3.13.3 安装教程
本文详细介绍了Python 3.13.3的安装步骤,适用于Windows、Linux和macOS系统。对于Windows用户,首先需要从Python官网下载安装包,运行安装程序时建议勾选“Add Python 3.13.3 to PATH”选项,以便在命令行中直接使用Python命令。安装过程中可以选择自定义安装路径和功能,安装完成后可通过命令提示符验证安装是否成功。对于Linux用户,可以通过包管理器或源代码编译安装Python,安装完成后同样可以通过终端验证。macOS用户则可以通过Homebrew或源
2025-05-16 21:14:47
2298
原创 编程是什么?从变量到循环,轻松掌握编程基础知识
编程是通过编写代码让计算机执行特定任务的过程。编程的基础包括变量、四则运算、比较运算、逻辑运算、表达式、条件语句和循环语句。变量用于存储数据,四则运算处理数据,比较和逻辑运算用于判断条件,表达式构建逻辑核心。条件语句根据条件执行不同代码,循环语句重复执行代码,但需避免死循环。跳转语句如break和continue用于控制循环。掌握这些基础知识是成为优秀程序员的第一步。推荐学习《Python入门课程》和《Python3爬虫入门与实践》以深入学习编程技能。
2025-05-11 21:25:53
403
原创 404 是什么意思?常见404代码示例
404错误是HTTP状态码之一,表示服务器无法找到客户端请求的资源。常见原因包括页面被删除或移动、URL输入错误、服务器配置问题、路由配置错误、文件权限问题以及网络或缓存问题。404错误会影响用户体验和网站排名。解决方法包括检查URL、清除浏览器缓存、检查服务器配置、设置重定向、检查文件路径和权限、使用相关工具检查以及联系网站管理员。预防措施包括定期检查网站链接、设置友好的错误提示页面和使用代码版本控制系统。文章还提供了HTML、Flask和Django框架的404错误代码示例,帮助开发者更好地处理404错
2025-05-11 21:23:39
5689
原创 什么是文件描述符(File Descriptor,FD)
如果你想深入了解文件描述符以及系统编程的相关知识,可以学习编程狮(W3Cschool)上的相关课程。总之,文件描述符是操作系统中管理打开文件和资源的重要机制,通过合理使用文件描述符,可以实现高效的文件操作和进程间通信。
2025-05-10 16:29:05
602
原创 MD5 值是什么?为什么文件需要检验 MD5?
MD5值是一种信息摘要算法,能够将任意长度的数据转换为固定长度的32位十六进制哈希值,常被视为文件的“数字指纹”。MD5校验在文件传输和存储中至关重要,主要用于确保文件完整性、验证数据一致性、保障安全性以及文件识别与去重。通过比对文件的MD5值,可以检测文件是否损坏或被篡改,从而保护数据安全。MD5校验广泛应用于下载文件校验、系统文件校验、数据备份与恢复等场景。用户可以通过命令行工具、图形化工具或编程实现MD5校验,确保文件的安全性和可靠性。
2025-05-10 16:27:14
1508
请问这个代码为什么不能在DEVc++里运行
2023-10-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人