自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

念致达的博客

臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。

  • 博客(29)
  • 收藏
  • 关注

原创 C++ 面向对象 - 对象定义方法汇总

本文总结了C++对象定义的多种方法,主要分为栈上定义和堆上定义两大类。栈上定义包括调用无参构造函数、有参构造函数和拷贝构造函数三种方式,详细介绍了每种方式的语法特点和注意事项。堆上定义主要通过new操作符实现,同样支持三种构造函数的调用方式。文章还强调了对象定义与赋值操作的区别,并提供了综合示例代码。对于C++开发者理解对象创建过程具有实用参考价值。

2025-07-11 21:21:29 429 1

原创 C++ 面向对象 - 默认值与常量成员

C++中的默认值和常量成员是提升代码安全性和灵活性的重要特性。默认值允许函数参数、类成员等在没有显式赋值时使用预设值,需遵循从右向左连续定义的原则,避免与函数重载冲突。常量成员分为不可修改的成员变量和保证对象状态不变的成员函数,常量变量必须在初始化列表或默认值中设置,而常量函数只能访问不能修改对象状态(mutable变量除外)。合理使用这些特性可以使代码更健壮、可维护,同时减少潜在错误。

2025-07-11 17:53:52 1093

原创 C++文件操作

C++文件操作主要通过<fstream>库实现,包含ifstream(读)、ofstream(写)和fstream(读写)三个类。基本操作步骤包括:打开文件(需检查是否成功)、读写数据(文本或二进制模式)、关闭文件。文件打开时可指定多种模式(如追加、二进制等)。二进制文件操作需使用write()和read()方法,并可通过文件指针控制读写位置。注意事项包括文件路径、权限、状态检查和资源释放等。掌握这些知识可实现C++程序与文件系统的高效交互。

2025-06-29 23:40:48 585

原创 C++ 格式化输入输出

摘要:C++格式化输入输出主要通过流操纵符和成员函数实现,需包含<iomanip>头文件。格式化输出包括设置整数进制、控制浮点数精度、字段宽度和对齐方式等操作。格式化输入需注意错误处理和缓冲区清理,建议使用getline读取字符串。常用的流操纵符有setw、setprecision、hex/dec/oct等,使用时需注意恢复默认设置。掌握这些技巧能提升程序的交互性和数据可读性。

2025-06-29 23:36:42 847

原创 C++泛型编程2 - 类模板

C++类模板是泛型编程的核心技术,允许创建适用于多种数据类型的通用类。从基础概念到高级应用,类模板具有以下特性:1)通过模板参数支持多种类型,避免重复代码;2)支持默认类型参数和非类型参数;3)可以进行全特化和偏特化;4)每个模板实例化拥有独立的静态成员;5)支持继承和友元关系。使用时需注意类模板只能显式实例化,成员函数可在类外实现,并遵循模板声明一致性原则。最佳实践包括分离声明与实现、防止模板膨胀和使用static_assert提供清晰错误信息。类模板极大提高了代码复用性和灵活性。

2025-06-28 21:44:19 1155

原创 C++泛型编程1 - 函数模板

C++函数模板完整教程摘要: 函数模板是C++泛型编程的核心,允许编写与数据类型无关的通用函数。通过template <typename T>声明模板,将数据类型参数化,编译器在编译时自动生成特定版本。模板支持多类型参数、默认类型参数和非类型参数,可进行全特化处理。与普通函数共存时,遵循特定重载规则:普通函数优先,模板函数在更匹配时被选用。最佳实践包括将模板定义放在头文件、确保操作对所有类型有效、遵循DRY原则等。典型应用包括通用交换函数、数组排序和类型组合运算。模板提高了代码复用性和维护性。

2025-06-28 20:17:50 1383

原创 C++扩展 - 关键字应用 - decltype

摘要:decltype是C++11引入的关键字,用于编译期推导表达式类型。它能精确保持变量或表达式的原始类型特性(包括引用和const限定),主要应用于模板函数返回类型推导、lambda表达式、类型别名、SFINAE和元编程等场景。C++14引入decltype(auto)进一步简化使用。相比auto,decltype能保留引用和const限定,是泛型编程的重要工具。文章详细解析了decltype的推导规则、应用场景、高级用法及注意事项,并对比了其他类型推导方式的特点。

2025-06-28 18:29:39 508

原创 C++扩展 - 函数模板高级 - 返回类型自动推导

本文介绍了C++函数模板中自动推导返回类型的技术,重点解析了decltype(T1() + T2())的语法和原理。文章通过代码示例展示了如何利用decltype在编译时推导表达式类型,实现返回类型的自动确定。同时对比了传统方法、C++14的auto返回和C++20概念约束等不同实现方式,分析了这种技术的类型安全性、代码简洁性等优势。最后指出了使用注意事项和扩展应用场景,说明该技术在现代C++泛型编程中的重要价值。

2025-06-28 18:21:40 329

原创 C++面向对象 - 多态

本文全面介绍了C++中的多态特性,包括两种实现方式:静态多态(函数重载和模板)和动态多态(虚函数)。详细讲解了虚函数表原理、纯虚函数与抽象类、虚析构函数的重要性,以及C++11新增的override和final关键字用法。文章通过多个代码示例展示了多态的实际应用,包括动物叫声、图形计算等场景,并强调了多态在提升代码灵活性和可维护性方面的优势。最后总结了多态作为面向对象编程核心概念的关键要点。

2025-06-27 23:58:08 805

原创 C++面向对象 - 继承

本文全面介绍了C++中的继承机制,包括:继承的基本概念(基类/派生类、IS-A关系)和语法;4种继承类型(单继承、多继承、多级继承和层次继承);3种访问控制方式(公有、保护、私有)及其权限影响;构造函数调用顺序和派生类构造方法;函数重写、虚函数与多态的实现;多重继承的菱形问题及虚继承解决方案;向上/向下类型转换;特殊成员函数的处理;以及继承的最佳实践(优先公有继承、避免过度使用)。通过代码示例详细展示了各类继承场景的实现方式。

2025-06-27 23:43:42 606

原创 Qt 安装与项目创建

Qt是一款跨平台的C++开发库,主要用于图形界面(GUI)开发,也支持命令行程序。它具有跨平台性、面向对象设计、丰富API、完善文档和高性能图形渲染等优势。文章详细介绍了Qt的特点、资源下载方式(官网地址)、安装注意事项(路径选择、组件选择等)以及使用Qt Creator创建新项目的完整流程(包括项目类型选择、路径设置、构建系统配置等),最终生成一个基本的GUI程序框架并运行。

2025-06-27 00:07:34 913

原创 C++ 面向对象知识(4)- 友元与运算符重载

本文介绍了C++中的友元机制和运算符重载两大核心特性。在友元部分,详细讲解了友元函数、友元类和友元成员函数的定义与使用方法,分析了友元的优缺点及适用场景,强调应谨慎使用以避免破坏封装性。在运算符重载部分,系统阐述了重载的基本语法和两种实现方式(成员函数和全局函数),重点说明了不同运算符的返回值类型选择原则,并列举了可重载和不可重载的运算符。文章通过复数类的示例代码展示了+、<<等运算符的重载实现,同时总结了运算符重载的注意事项,包括参数类型选择、返回值类型确定等关键知识点。这两项特性都能增强代码

2025-06-24 18:54:20 311

原创 C++ 面向对象知识(3)- 静态成员与单例模式

摘要:静态成员分为变量和函数两种类型,属于类而非对象。静态成员变量需在类外初始化,所有对象共享;静态成员函数无this指针,只能访问静态成员。单例模式利用静态成员实现全局唯一实例,包含懒汉式和饿汉式两种实现方式。静态成员遵循访问控制规则,可被继承且子父类共享同一静态成员。静态成员常用于对象计数、共享配置等场景。(149字)

2025-06-24 03:48:11 293

原创 C++ 面向对象知识(2) - 封装二

本文详细介绍了C++中的构造函数和析构函数。构造函数主要用于对象初始化,包括无参构造、带参构造、拷贝构造等类型,支持显式默认化(=default)和禁用(=delete)。析构函数用于对象销毁时的资源释放,具有特定的命名规则和自动调用特性。文章还讲解了初始化列表、委托构造、显式基类构造调用等高级用法,并强调了构造/析构函数在资源管理中的重要性。通过多个具体代码示例,阐述了不同场景下的构造/析构函数定义和使用方法,包括动态内存管理、文件处理等实际应用案例。

2025-06-24 03:23:34 367

原创 C++ 基础知识 - 变量命名法

变量命名广泛应用的四种方法:全大写命名、下划线命名、驼峰命名和匈牙利命名。C++风格的命名方法:大小驼峰命名、下划线命名和全大写命名。

2025-06-21 13:18:59 642

原创 C++基础知识 - 匿名函数

C++11引入的匿名函数(lambda表达式)是一种无需单独声明的临时函数。它支持值捕获和引用捕获,可以指定默认捕获方式,也可单独控制变量捕获行为。匿名函数常用于STL算法、回调函数等场景,需注意避免引用捕获导致的悬挂引用问题。C++14新增了初始化捕获特性,进一步增强了灵活性。关键特性包括:捕获外部变量、mutable修改副本值、指定返回类型等。

2025-06-21 12:57:16 1030

原创 C++ 面向对象知识(1) - 封装一

本文摘要: C++面向对象编程通过类和对象实现数据与操作的封装。类(class)将成员变量(属性)和成员函数(方法)封装在一起,对外隐藏内部实现。对象通过成员运算符(.)访问成员,对象指针使用(->)。类包含三种访问权限(private/protected/public)控制成员可见性,默认private。this指针用于区分成员与局部变量。相比C语言的面向过程编程,面向对象降低了程序复杂度,提高了代码可读性和安全性。示例代码演示了类定义、对象创建、访问权限设置及this指针的使用方法。

2025-06-12 00:03:49 929

原创 C++基础知识

介绍C++与C的不同的基础知识部分。包括函数、结构体、输入输出、引用、动态内存和C代码声明

2025-06-11 04:34:55 819

原创 C++基础知识

本章介绍了C++与C在标识符命名、关键字、运算符、数据类型、标准库、命名空间上的不同之处。

2025-06-09 23:46:54 592

原创 C++基础知识

本文总结了C++与C语言共通的基础知识,主要包括:1) 注释方式(单行//和多行/**/);2) 32个核心关键字分类(数据类型、控制流、函数等);3) 数据类型体系(基本类型和复合类型);4) 两种常量定义方法(宏常量和const);5) 变量定义与声明;6) 8类运算符及其用法;7) 三大流程控制结构(选择、循环、跳转)。这些内容是C++继承自C语言的核心语法,为后续面向对象编程奠定基础。(150字)

2025-06-07 23:53:59 296

原创 第一章 用tkinter画画

本文为python 的 tkinter 模块入门教程,不同于其他的入门教程,本文以一个全新的角度和案例激发学者兴趣,采用学思结合的方式,通过实践使学者逐步熟悉 tkinter 框架。

2022-05-18 09:00:00 255

原创 Pycharm 文件模板

Pytharm 中可以自定义代码文件模板。设置位置:Settings >> Editor >> File and Code Templates可设置变量:# -*- coding: utf-8 -*-""" 项目名称: $PROJECT_NAME 文件名: ${NAME}.py 电脑用户名: $USER 使用软件: $PRODUCT_NAME 创建时的系统日期: $DATE 创建时的系统时间:$TIME

2021-04-24 20:48:00 358

原创 Python变量的动态创建

Python变量的动态创建动态地创建变量可以使用 globals() 和 locals() 来实现。这两个对象以字典的形式分别保存着系统的静态变量和局部变量。所以只要将要创建的变量加入这两个字典中的任一个,就实现了变量的动态创建。>>> ls = ['name','无奇']>>> i=21>>> globals()[ls[0]+str(i)]=ls[1]>>> name21'无奇'动态变量的应用。最典型的就是pyt

2021-04-06 23:46:45 2655

原创 获取Python变量的变量名

Python获取变量的变量名locals() 是 python 中的内置方法其返回一个保存着当前运行空间的资料。>>> a=1>>> for k,v in locals().items():... print(k, v)... # 第一次执行总是报错,再输入一次就好了__name__ __main__Traceback (most recent call last): File "<input>", line 1, in &lt

2021-04-06 20:21:37 5975

原创 Python虚拟环境

Python创建虚拟环境的方法有多种。我知道的有三种,分别是:virtulenvvenvpipenv一、virtualenv1、安装virtualenv、virtualenvwrapper-winvirtualenv是最常见的虚拟环境包,需要手动下载,支持python2和python3。为了方便管理虚拟环境,通常还会下载虚拟环境管理工具包:virtualenvwrapper (Linux版本)virtualenvwrapper-win (windows版本)在win.

2021-01-22 17:03:42 180

原创 钢的热处理

钢的热处理热处理温度最终组织作用完全退火Ac3A_{c3}Ac3​+(30~50)铁素体+珠光体等温退火Ac3A_{c3}Ac3​+(30~50)珠光体球化退火Ac1A_{c1}Ac1​+(20~30)球状珠光体使珠光体球化,降低硬度、提高塑性、改善切削加工性能和力学性能。不完全退火Ac1A_{c1}Ac1​~(Ac3A_{c3}Ac3​/AcmA_{cm}Acm​)铁素体/渗碳体+珠光体增大珠光体层片间距,以消除内应力、降低硬度。去

2020-12-15 11:49:47 661

原创 极限与配合

极限与配合术语及概念公称尺寸(基本尺寸)实际尺寸极限尺寸实际偏差极限偏差尺寸公差(Th, Ts)尺寸公差带图配合间隙与过盈配合的种类1. 间隙配合2. 过盈配合3. 过渡配合配合公差(T~f~)公差与配合国家标准标准公差系列公差单位:公差等级基本偏差系列基本偏差基本偏差代号孔轴公差带代号、公差带标注、配合代号公差带代号公差带表示配合代号术语及概念公称尺寸(基本尺寸)设计时给定的尺寸符号:孔(D)轴(d)实际尺寸通过测量所得的尺寸符号:孔(Da)轴(da)极限尺寸限制实际尺寸的变化

2020-11-22 20:17:42 4887

原创 互换性与标准化

互换性一、 互换性定义分类作用主要内容二、标准化一、 互换性定义机械产品中的同一规格的一批零件或部件,任取其中一件,不需作任何挑选、调整或辅助加工就能进行装配,并能保证满足机械产品的使用性能要求的一种特性。分类分类几何参数互换零部件的尺寸、形状、位置、表面质量等几何参数具有互换性功能互换零部件的物理性能、化学性能和力学性能具有互换性按互换性程度分:完全互换性(绝对互换性)零件在装配或更换时,不需要选择、调整或辅助加工不完全互换性(有限互换性)

2020-11-22 13:31:47 2743

原创 外部中断

外部中断文章目录外部中断硬件控制外部中断矢量外部中断控制寄存器外部中断控制位软件控制外部中断0初始化方法外部中断1初始化方法外部中断程序框架示例P3.2口脉冲输入计数硬件控制外部中断矢量中断源名称中断源地址RAM中断矢量ROMINT0P3.2 (0B2H)0003HINT1P3.3 (0B3H)0013H外部中断控制寄存器地址A8HAFHAAHA8H名称IEEAEX1EX0

2020-11-20 12:41:42 4243

版本控制Git分布式版本控制系统入门教程:从基础概念到远程仓库操作全流程解析

内容概要:本文档《Git入门教程.pdf》详细介绍了Git这一分布式版本控制工具的背景、作用、工作流程、下载与安装方法、代码托管服务、常用命令等。Git起源于Linux内核开源项目的需求,由Linus Torvalds主导开发,最初是为了替代BitKeeper。它能够帮助开发者进行源代码管理,支持多人协同开发并方便版本控制。文档还介绍了Git的工作流程,包括从远程仓库克隆代码、本地修改提交、再推送回远程仓库等步骤。此外,文中列举了GitHub、码云、GitLab等常见的Git代码托管服务平台,并讲解了如何注册账号、创建远程仓库及邀请成员。最后,文档深入浅出地解释了Git的基本概念(如工作目录、暂存区、版本库)、文件状态变化、本地与远程仓库操作、分支管理和标签管理等内容。 适合人群:适合初学者或有一定编程经验但对Git不太熟悉的开发者,尤其是那些希望提高团队协作效率、掌握版本控制技能的人群。 使用场景及目标:①适用于个人开发者或团队成员需要高效管理代码版本、追踪修改历史的场景;②帮助用户理解并实践分布式版本控制系统的核心功能,如分支创建与合并、标签管理等;③指导用户如何利用互联网上的代码托管服务,如GitHub、码云、GitLab等,进行项目管理和协作。 阅读建议:读者应按照文档的章节顺序逐步学习,先了解Git的基本概念和背景知识,再动手实践命令行操作,最后尝试使用在线代码托管平台进行项目管理。建议边学边练,结合实际项目进行练习,以便更好地掌握Git的各项功能。

2025-06-25

这是一个系统学习Django REST framework(DRF)的教程课程 课程内容涵盖了Web前后端分离架构、RESTful API设计规范,以及Django REST framework框架

这是一个系统学习Django REST framework(DRF)的教程课程。课程内容涵盖了Web前后端分离架构、RESTful API设计规范,以及Django REST framework框架的完整使用。从基础的Web应用模式介绍开始,逐步讲解Django开发REST接口的方法、序列化器(Serializer)的应用、路由配置等关键技术点,并详细阐述了DRF的认证、权限、限流、分页等核心功能模块。通过本课程的学习,开发者可以掌握使用Django构建符合RESTful规范的现代化Web API服务的整套技能体系。课程结构清晰,由浅入深,非常适合想系统学习Django REST framework开发的学习者。

2025-06-25

这是一套系统完整的Python爬虫学习课程离线网页,分为**入门、提高、扩展阅读**三大模块,由浅入深覆盖爬虫技术全栈内容

这是一套系统完整的Python爬虫学习课程离线网页,分为**入门、提高、扩展阅读**三大模块,由浅入深覆盖爬虫技术全栈内容。从**基础请求模块requests、数据解析(json/正则/xpath)**开始,逐步深入到**Selenium动态渲染、Scrapy框架应用、分布式爬虫(scrapy-redis)**等高级技术,并包含**反爬破解策略、爬虫部署运维等实战技巧**。课程特别设计了**百度翻译sign破解、Scrapy图片下载管道等典型商业爬虫案例**,同时拓展了**Appium移动端爬虫、Docker容器化部署**等前沿技术,既适合零基础入门,又能满足进阶开发者的系统学习需求。

2025-06-25

MongoDB数据库安装和完整命令详解教程

这是一份全面的MongoDB操作指南,涵盖了数据库安装、管理、集合操作和文档处理等核心内容。详细介绍MongoDB的基本数据结构,包括数据库(database)、集合(collection)和文档(document)的层级关系。提供了丰富的操作命令示例,如数据库的创建/删除(`use`/`db.dropDatabase()`)、集合的查看/删除(`show collections`/`drop`),以及文档的增删改查(`insert`/`remove`/`update`/`find`)。特别包含条件运算符(`$and`/`$or`)和比较运算符(`$gt`/`$lt`/`$ne`等)的详细使用方法,所有命令均有实际操作演示。适合MongoDB初学者快速掌握基本操作技巧。

2025-06-25

本资源是Redis数据库安装和操作教程,教程是md文件,推荐使用typora软件打开 Redis是一个开源的、高性能的键值对(key-value)存储数据库,支持多种数据结构

本资源主要对redis的如下内容进行了详细的讲解:Redis是一个开源的、高性能的键值对(key-value)存储数据库,支持多种数据结构。它主要特点包括:内存存储、持久化支持、丰富的数据类型、单线程高性能模型以及内置复制和高可用功能。Redis支持字符串、哈希、列表、集合、有序集合五大数据结构类型,每种类型都有专门的操作命令。其高速读写能力(每秒可达10万+次操作)和原子性操作特性使其成为缓存、消息队列、排行榜等场景的理想选择。Redis通过RDB和AOF两种方式实现数据持久化,还提供事务处理、Lua脚本、订阅/发布等功能,是当前最流行的NoSQL数据库之一。

2025-06-25

这是一份系统的Python Web框架学习指南,全面覆盖了Django框架的核心要点 内容从框架介绍、工程搭建开始,逐步深入到模板系统、数据库操作等高级功能 重点讲解了Django的请求响应机制、路由

这是一份系统的Python Web框架学习指南,全面覆盖了Django框架的核心要点。内容从框架介绍、工程搭建开始,逐步深入到模板系统、数据库操作等高级功能。重点讲解了Django的请求响应机制、路由配置、静态文件处理、类视图和中间件等重要概念,同时还包含Admin后台管理和图片上传等实用功能。 这份指南既适合新手快速入门,也可作为有经验开发者的参考手册,采用"处理流程-框架意义-学习方法"的递进式结构,帮助学习者建立完整的Web开发知识体系。每章内容组织清晰,实操性强的技术点(如QuerySet查询、Cookie/Session等)均有专门章节详细讲解。

2025-06-25

C++高级教程PPT(面向对象、设计模式、文件读写、数据库、模板、容器)

这套**C++高级教程PPT**(来自职坐标)是面向已有C++基础、希望提升编程能力的开发者而设计的进阶资料。内容涵盖面向对象高级特性(继承、多态、抽象类)、常用设计模式(单例、工厂、观察者等),以及文件I/O操作、数据库访问(MySQL)等实战技能。同时深入讲解C++模板(泛型编程)、STL容器(vector、map等)及算法的应用场景与优化技巧。PPT提供经典案例与代码示例,帮助开发者掌握企业级C++项目的开发模式,适合进阶学习或面试复习使用。如有侵权,请联系我删除。

2025-06-24

空空如也

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

TA关注的人

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