C++类和对象之相关特性
C++
- 一.类型转换
- 隐式类型转换
- 二.static成员
- 一、`static`成员变量
- 二、`static`成员函数
- 三、`static`成员的存储位置
- 四、总结
- 三.友元
- 一、友元函数
- 二、友元类
- 三、友元成员函数
- 四、总结
- 四.内部类
- 五.匿名对象
- 六.new

一.类型转换
在C++中,类类型转换是指将一个类的对象转换为另一个类的对象,或者将一个类的对象转换为基本数据类型等。C++提供了多种类型的转换机制,包括隐式类型转换和显式类型转换。以下是关于C++类类型转换的详细介绍:
隐式类型转换
-
构造函数实现的隐式转换
- 如果一个类的构造函数只有一个参数(除了可能的默认参数外),那么这个构造函数可以被用作隐式类型转换。例如:
class B { public:B(int x) { /* ... */ } };
这时,可以将
int
类型的值隐式转换为B
类型的对象:B b = 5; // 通过B的构造函数将5隐式转换为B对象
在类类型有多个参数时,可以使用{ xxx ,xxx },的形式来进行转换,不能使用(),因为()会计算出括号内最后一个表达式的值
-
类型转换运算符实现的隐式转换
- 类可以定义类型转换运算符,将类的对象隐式转换为其他类型。例如:
class A { public:operator int() const { return 10; } };
这时,
A
类型的对象可以隐式转换为int
类型:A a; int x = a; // 通过A的类型转换运算符将a隐式转换为int
-
这种隐式转换可能会导致一些意外的错误,因此可以通过在构造函数前加上
explicit
关键字来禁止这种隐式转换:class B { public:explicit B(int x) { /* ... */ } };
这样,
B b = 5;
就会报错,而必须显式地调用构造函数:B b(5);
。 -
类类型的对象之间也可以隐式转换,需要相应的构造函数⽀持
二.static成员
在C++中,static
成员是类的一个重要特性,它与类本身相关联,而不是与类的某个具体对象相关联。这意味着static
成员在类的所有对象之间是共享的。以下是对static
成员的详细介绍:
一、static
成员变量
- 定义与初始化
static
成员变量是类的所有对象共享的变量。它在类的定义中声明,但需要在类的定义外进行初始化。 ⽤static修饰的成员变量,称之为静态成员变量,静态成员变量⼀定要在类外进⾏初始化。例如:
class MyClass { public:static int count; // 声明static成员变量 };int MyClass::count = 0; // 初始化static成员变量
- 注意,
static
成员变量的初始化必须在类的定义外进行,且只能初始化一次。
- 访问方式
static
成员变量可以通过类名或类的对象来访问,但推荐使用类名访问,以体现其与类的关系。例如:
MyClass::count = 10; // 通过类名访问 MyClass obj; obj.count = 20; // 通过对象访问(不推荐,但合法)
- 无论通过类名还是对象访问,
static
成员变量都是同一个变量。
- 生命周期
static
成员变量的生命周期从程序开始运行时初始化,到程序结束时销毁。它不依赖于类的对象的生命周期。- 静态成员变量不能在声明位置给缺省值初始化,因为缺省值是个构造函数初始化列表的,静态成员变量不属于某个对象,不⾛构造函数初始化列表.
二、static
成员函数
- 定义与调用
static
成员函数是与类相关联的函数,而不是与类的某个具体对象相关联。它不能访问非static
成员变量和非static
成员函数,因为这些成员需要对象的上下文。例如:
class MyClass { public:static void print() {std::cout << "Static function" << std::endl;} };
static
成员函数可以通过类名或类的对象来调用,但推荐使用类名调用。例如:
MyClass::print(); // 通过类名调用 MyClass obj; obj.print(); // 通过对象调用(不推荐,但合法)
- 特点
static
成员函数没有this
指针,因为它不依赖于具体的对象。- 它可以访问类的
static
成员变量和其他static
成员函数。 - 静态成员也是类的成员,受public、protected、private访问限定符的限制。
- 应用场景
- 常用于实现与类相关的工具函数,这些函数不需要访问类的对象的成员变量。例如,实现一个全局的计数器:
class MyClass { public:static void incrementCount() { count++; }static int getCount() { return count; } private:static int count; };int MyClass::count = 0;int main() {MyClass::incrementCount();std::cout << MyClass::getCount() << std::endl; // 输出1return 0; }
三、static
成员的存储位置
static
成员变量和static
成员函数的存储位置通常在程序的全局数据区。它们在程序启动时分配内存,在程序结束时释放内存。- 与全局变量类似,
static
成员变量在全局数据区中有一个固定的地址,所有对象共享这个地址。 - 静态成员变量为所有类对象所共享,不属于某个具体的对象,不存在对象中,存放在静态区。
四、总结
static
成员变量和static
成员函数是类的静态特性,它们与类本身相关联,而不是与类的对象相关联。static
成员变量需要在类的定义外初始化,并且可以通过类名或对象访问。⽤static修饰的成员函数,称之为静态成员函数
static
成员函数没有this
指针,只能访问类的static
成员变量和其他static
成员函数。- ⾮静态的成员函数,可以访问任意的静态成员变量和静态成员函数。
- 静态成员函数中可以访问其他的静态成员,但是不能访问⾮静态的,因为没有this指针。
- 突破类域就可以访问静态成员,可以通过类名::静态成员或者对象.静态成员 来访问静态成员变量和静态成员函数。
三.友元
在C++中,友元(Friend) 是一个非常重要的概念,它允许某些特定的函数或类访问另一个类的私有(private
)和保护(protected
)成员。这在某些情况下非常有用,尤其是当你需要在类的封装性与功能需求之间找到平衡时。
一、友元函数
- 定义
- 友元函数不是类的成员函数,但它可以访问类的私有和保护成员。友元函数需要在类的定义中使用
friend
关键字声明。
- 友元函数不是类的成员函数,但它可以访问类的私有和保护成员。友元函数需要在类的定义中使用
- 特点
- 友元函数不是类的成员函数,因此它没有
this
指针。 - 友元函数的定义可以位于类的定义内或定义外,但声明必须在类的定义中。
- 友元函数可以访问类的所有成员(包括私有和保护成员)。
- ⼀个函数可以是多个类的友元函数。
- 友元函数不是类的成员函数,因此它没有
二、友元类
- 定义
- 友元类是一个类,它的所有成员函数都可以访问另一个类的私有和保护成员。友元类需要在类的定义中使用
friend
关键字声明。例如:
class MyClass { private:int privateData;public:MyClass(int data) : privateData(data) {}friend class FriendClass; // 声明友元类 };class FriendClass { public:void printPrivateData(const MyClass& obj) {std::cout << "Private Data: " << obj.privateData << std::endl;} };
- 在这个例子中,
FriendClass
是MyClass
的友元类,因此FriendClass
的所有成员函数都可以访问MyClass
的私有成员privateData
。
- 友元类是一个类,它的所有成员函数都可以访问另一个类的私有和保护成员。友元类需要在类的定义中使用
- 特点
- 友元类的所有成员函数都可以访问被友元类声明的类的私有和保护成员。
- 友元类的声明方式与友元函数类似,但声明的是整个类。
三、友元成员函数
- 定义
- 友元成员函数是另一个类的成员函数,但它可以访问当前类的私有和保护成员。友元成员函数需要在类的定义中使用
friend
关键字声明,并指定所属类和函数名。
- 友元成员函数是另一个类的成员函数,但它可以访问当前类的私有和保护成员。友元成员函数需要在类的定义中使用
- 特点
- 友元成员函数是另一个类的成员函数,但它可以访问当前类的私有和保护成员。
- 友元成员函数的声明需要指定所属类和函数名。
- 元类中的成员函数都可以是另⼀个类的友元函数,都可以访问另⼀个类中的私有和保护成员。
- 友元类的关系是单向的,不具有交换性,⽐如A类是B类的友元,但是B类不是A类的友元。
- 友元类关系不能传递,如果A是B的友元,B是C的友元,但是A不是C的友元。
四、总结
- 友元函数:允许特定的非成员函数访问类的私有和保护成员。
- 友元类:允许另一个类的所有成员函数访问当前类的私有和保护成员。
- 友元成员函数:允许另一个类的特定成员函数访问当前类的私有和保护成员。
- 使用注意事项:谨慎使用友元,尽量减少对类的内部结构的暴露,避免破坏封装性。友元破坏了类的封装性,因为它允许外部函数或类访问类的私有和保护成员。因此,应该谨慎使用友元,只在必要时才使用。
四.内部类
• 如果⼀个类定义在另⼀个类的内部,这个内部类就叫做内部类。内部类是⼀个独⽴的类,跟定义在全局相⽐,他只是受外部类类域限制和访问限定符限制,所以外部类定义的对象中不包含内部类。
• 内部类默认是外部类的友元类。
• 内部类本质也是⼀种封装,当A类跟B类紧密关联,A类实现出来主要就是给B类使⽤,那么可以考虑把A类设计为B的内部类,如果放到private/protected位置,那么A类就是B类的专属内部类,其他地⽅都⽤不了。
内部类和外部类为平行关系,计算大小时不算内部类,内部类不算外部类的一部分,收访问限定符的限制
五.匿名对象
通常情况下,我们定义的是有名对象。在C++中,匿名对象是指没有显式命名的对象。它们通常在需要临时使用某个类的对象时被创建,使用完毕后立即销毁。匿名对象⽣命周期只在当前⼀⾏,⼀般临时定义⼀个对象当前⽤⼀下即可。
六.new
当使用动态内存分配(new)创建数组时,构造函数的调用机制与静态数组是相同的,但有一些额外的注意事项。
动态数组的构造函数调用
Sum* arr = new Sum[n]; // 动态创建长度为n的Sum数组
这行代码会:
- 在堆上分配足够存储n个Sum对象的内存
- 逐个调用每个元素的默认构造函数
- 返回指向第一个元素的指针
- 与静态数组一样,构造函数会被调用n次
相关文章:
C++类和对象之相关特性
C 一.类型转换隐式类型转换 二.static成员一、static成员变量二、static成员函数三、static成员的存储位置四、总结 三.友元一、友元函数二、友元类三、友元成员函数四、总结 四.内部类五.匿名对象六.new 一.类型转换 在C中,类类型转换是指将一个类的对象转换为另一…...
容器编排的革命:Kubernetes如何引领IT的云原生时代
文章目录 Kubernetes的本质:容器世界的智能指挥家Kubernetes的核心功能包括: Kubernetes的演进:从谷歌的实验到全球标准核心技术:Kubernetes的基石与生态1. Pod与容器:最小调度单位2. Deployment:无状态应用…...
2025视频协作工具全景解析:技术跃迁与场景重构
一、技术演进:从功能工具到智能生态 2025年视频协作软件的核心竞争力已从基础功能升级为技术生态的构建。以分秒帧为例,其音视频生产协作系统,可帮助创作者在云端构建工作流,让跨地域、跨终端、跨团队的协作组可以在统一的安全平台上管理所有媒体资源、任务、反馈信息,从而更高…...
保持视频二维码不变,更新视频的内容
视频替换功能允许用户在保持视频二维码、观看地址和调用代码不变的情况下更新视频内容,从而节省重新印刷物料的成本。这一功能适用于多种场景,如营销宣传、产品操作手册、设备说明书等,当视频内容需要修改或更新时,用户只需上传新…...
Linux常用命令40——alias设置命令别名
在使用Linux或macOS日常开发中,熟悉一些基本的命令有助于提高工作效率,alias命令来自英文单词alias,中文译为“别名”,其功能是设置命令别名信息。我们可以使用alias将一些较长的命令进行简写,往往几十个字符的命令会变…...
Java大师成长计划之第22天:Spring Cloud微服务架构
📢 友情提示: 本文由银河易创AI(https://ai.eaigx.com)平台gpt-4o-mini模型辅助创作完成,旨在提供灵感参考与技术分享,文中关键数据、代码与结论建议通过官方渠道验证。 随着企业应用的不断扩展,…...
为什么go语言中返回的指针类型,不需要用*取值(解引用),就可以直接赋值呢?
Go 中返回的是指针,但你却能直接用“.”访问字段,看起来像是“没有解引用”,其实是 Go 帮你自动处理了“指针解引用”的语法糖。 在 Go 中,如果你有一个结构体指针(例如 *FileMeta),你可以直接…...
Java生成可控的Word表格功能开发
在日常办公自动化与系统集成场景中,生成结构化的Word文档已成为一种刚性需求,尤其是带有格式规范、内容动态填充的Word表格(Table)。本文将围绕如何利用Java开发一个可控的Word表格生成功能模块展开,涵盖技术选型、代码实现、边界控制与常见问题处理等方面,帮助开发者快速…...
OpenCV CUDA 模块中用于在 GPU 上计算矩阵中每个元素的绝对值或复数的模函数abs()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 void cv::cuda::abs(InputArray src, OutputArray dst, Stream &stream Stream::Null()) 是 OpenCV 的 CUDA 模块中的一个函数,…...
hadoop知识点
(一)复制和移动 1.复制文件 格式:cp源文件 目标文件 示例:把filel.txt复制一份得到file2.txt 2.复制目录 格式:cp-r源文件夹 目标文件夹 示例:把目标dir1复制一份得到dir2 3.重命名和移动 格式:…...
最短路与拓扑(2)
1、信使 #include<bits/stdc.h> using namespace std; const int N105; int n,m; int g[N][N]; int dist[N]; bool st[N]; const int INF0x3f3f3f3f;int dij(){memset(dist,0x3f,sizeof dist);dist[1]0;for(int i1;i<n;i){int t0;for(int j1;j<n;j){if(!st[j]&…...
LLaMA-Factory 微调 Qwen2-7B-Instruct
一、系统环境 使用的 autoDL 算力平台 1、下载基座模型 pip install -U huggingface_hub export HF_ENDPOINThttps://hf-mirror.com # (可选)配置 hf 国内镜像站huggingface-cli download --resume-download shenzhi-wang/Llama3-8B-Chinese-Chat -…...
濒危仙草的重生叙事:九仙尊米斛花节如何以雅集重构中医药文化IP
五月的霍山深处,层峦叠翠之间,中华仙草霍山米斛迎来一年一度的花期。九仙尊以“斛韵雅集,春野茶会”为主题,举办为期半月的米斛花文化节,融合中医药文化、东方美学与自然体验,打造一场跨越古今的沉浸式文化盛宴。活动涵盖古琴雅集、书法创作、茶道冥想、诗歌吟诵、民族歌舞等多…...
Pomelo知识框架
一、Pomelo 基础概念 Pomelo 简介 定位:分布式游戏服务器框架(网易开源)。 特点:高并发、可扩展、多进程架构、支持多种通信协议(WebSocket、TCP等)。 适用场景:MMO RPG、实时对战、社交游戏等…...
歌词滚动效果
<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><!-- 设置标签页图标 --><link rel"shortcut icon&…...
python如何合并excel单元格
在Python中合并Excel单元格,常用openpyxl库实现。以下是详细步骤和示例代码: 方法一:使用 openpyxl 库 步骤说明: 安装库: pip install openpyxl导入库并加载文件: from openpyxl import load_workbook# …...
嵌入式学习笔记 D20 :单向链表的基本操作
单向链表的创建单向链表的插入单向链表的删除及清空单向链表的修改单向链表的查找单向链表的逆序 一、单向链表的创建 LinkList *CreateLinkList() {LinkList *ll malloc(sizeof(LinkList));if (NULL ll) {fprintf(stderr, "CreateLink malloc");return NULL;}ll…...
瀑布模型VS敏捷模型VS喷泉模型
目录 1. 瀑布模型(Waterfall Model) 2. 敏捷模型(Agile Model) 3. 喷泉模型(Fountain Model)...
Android usb网络共享详解
Android usb网络共享详解 文章目录 Android usb网络共享详解一、前言二、USB网络共享使用的前提1、Android设备支持adb 并且打开usb开关2、原生Settings能看到USB网络共享开关3、代码中检测USB网络共享是否支持 三、Settings 中USB网络共享代码的部分代码1、Settings\res\xml\t…...
在线黑白图像转换:简单却强大的视觉表达工具
为什么选择黑白图像? 在这个色彩缤纷的数字世界中,黑白摄影却始终保持着其独特的魅力。黑白图像消除了色彩的干扰,让我们更专注于构图、纹理和形式的表达。这种经典的转换技术能够创造出富有情感和强烈对比的视觉作品,呈现出彩色…...
python 异步执行测试
1. 并行执行机制 子进程级并行:通过 asyncio.create_subprocess_exec 启动的每个外部命令(如 python run_spider.py)会创建一个独立的系统进程,由操作系统直接调度,实现真正的并行执行。 协程级并发:主程序…...
《Python星球日记》 第69天:生成式模型(GPT 系列)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、GPT简介:从架构到原理1. GPT的架构与工作原理2. Decoder-only结…...
STM32 之网口资源
1 网口资源介绍 STM32F407 是 STMicroelectronics 推出的高性能 ARM Cortex-M4 微控制器,具备多种外设接口,其中包括一个 Ethernet MAC 控制器(带 IEEE 1588 支持)。这意味着你可以使用 STM32F407 实现网络通信功能(通…...
一分钟在Cherry Studio和VSCode集成火山引擎veimagex-mcp
MCP的出现打通了AI模型和外部数据库、网页API等资源,成倍提升工作效率。近期火山引擎团队推出了 MCP Server SDK: veimagex-mcp。本文介绍如何在Cherry Studio 和VSCode平台集成 veimagex-mcp。 什么是MCP MCP(Model Context Protocol&…...
业务中台-典型技术栈选型(微服务、容器编排、分布式数据库、消息队列、服务监控、低代码等)
在企业数字化中台建设中,业务中台是核心支撑平台,旨在通过技术手段将企业核心业务能力抽象、标准化和复用,以快速响应前端业务需求。其核心技术流涉及从业务抽象到服务化、治理和持续优化的全流程。以下是业务中台建设中的核心技术体系及关键…...
图像颜色理论与数据挖掘应用的全景解析
文章目录 一、图像颜色系统的理论基础1.1 图像数字化的本质逻辑1.2 颜色空间的数学框架1.3 量化过程的技术原理 二、主要颜色空间的深度解析2.1 RGB颜色空间的加法原理2.2 HSV颜色空间的感知模型2.3 CMYK颜色空间的减色原理 三、图像几何属性与高级特征3.1 分辨率与像素密度的关…...
从规则驱动到深度学习:自然语言生成的进化之路
自然语言生成技术正经历着人类文明史上最剧烈的认知革命。这项起源于图灵测试的技术,已经从简单的符号操作演变为具备语义理解能力的智能系统。当我们回溯其发展历程,看到的不仅是算法模型的迭代更新,更是一部人类认知自我突破的史诗。这场革…...
影刀RPA网页自动化总结
1. 影刀RPA网页自动化概述 1.1 定义与核心功能 影刀RPA网页自动化是一种通过软件机器人模拟人类操作网页行为的技术,旨在提高网页操作效率、减少人工干预。其核心功能包括: 网页数据抓取:能够高效抓取网页上的数据,如电商数据、…...
[:, :, 1]和[:, :, 0] 的区别; `prompt_vector` 和 `embedding_matrix`的作用
prompt_vector = torch.sum(prompt_embedding * attention_weights.unsqueeze(-1), dim=1) # [1, hidden_dim] prompt_vector = torch.sum(prompt_embedding * attention_weights.unsqueeze(-1), dim=1) 主要作用是通过将 prompt_embedding 与 attention_weights 相乘后再按指…...
LeetCode 题解 41. 缺失的第一个正数
41. 缺失的第一个正数 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums [1,2,0] 输出:3 解释:范围 [1,…...
3337. 字符串转换后的长度 II
3337. 字符串转换后的长度 II # 定义了一个大质数 MOD,用于取模运算,防止数值溢出。 MOD 1_000_000_007# 矩阵乘法 mul def mul(a:List[List[int]], b:List[List[int]]) -> List[List[int]]:# 输入两个矩阵 a 和 b,返回它们的矩阵乘积 a…...
基于 TensorFlow 框架的联邦学习可穿戴设备健康数据个性化健康管理平台研究
基于 TensorFlow 框架的联邦学习可穿戴设备健康数据个性化健康管理平台研究 摘要: 随着可穿戴设备的普及,人们对于自身健康管理的需求日益增长。然而,可穿戴设备所收集的健康数据往往分散在不同用户的设备中,且涉及用户隐私敏感信息。本研究旨在构建一个基于 TensorFlow 框…...
查看字节真实二进制形式示例解析1
查看字节的真实二进制形式? 若需要显式查看二进制0/1,可以通过以下方法转换: 方法1:逐字节转换为二进制字符串 def bytes_to_binary(data: bytes) -> str:return .join([bin(byte)[2:].zfill(8) for byte in data])# 示例 …...
hadoop中spark基本介绍
Spark是一个基于内存计算的快速、通用、可扩展的大数据处理引擎,可与Hadoop集成并在其生态系统中发挥重要作用。以下是其基本介绍: 特点 - 快速:基于内存计算,能将中间结果缓存在内存中,避免频繁读写磁盘,大…...
Apollo学习——键盘控制速度
# keyboard_control.py import time import keyboard # 键盘输入模块 pip install keyboard from getkey import getkey, keys from cyber.python.cyber_py3 import cyber_time from cyber.python.cyber_py3 import cyber from modules.common_msgs.control_msgs import contro…...
无人机数据处理与特征提取技术分析!
一、运行逻辑 1. 数据采集与预处理 多传感器融合:集成摄像头、LiDAR、IMU、GPS等传感器,通过硬件时间戳或PPS信号实现数据同步,确保时空一致性。 边缘预处理:在无人机端进行数据压缩(如JPEG、H.265)…...
Java内存马的检测与发现
【网络安全】Java内存马的检测与发现 一、Java内存马的现象二、检测思路三、重点关注类四、检测方法1. 检查方法(FindShell)2. 检查方法(sa-jdi)3. 检查方法(arthas-boot)4. 检查方法(cop.jar&a…...
基于策略的强化学习方法之策略梯度(Policy Gradient)详解
在前文中,我们已经深入探讨了Q-Learning、SARSA、DQN这三种基于值函数的强化学习方法。这些方法通过学习状态值函数或动作值函数来做出决策,从而实现智能体与环境的交互。 策略梯度是一种强化学习算法,它直接对策略进行建模和优化,…...
未来软件开发趋势与挑战
未来软件开发的方向将受到技术进步、市场需求和社会变革的多重影响。以下是可能主导行业发展的关键趋势: 1. AI与自动化深度整合 AI代码生成:GitHub Copilot等工具将进化成"AI开发伙伴",能理解业务逻辑并自动生成完整模块。自修复…...
【vue】生命周期钩子使用
一、详解 created:实例化完成还没有渲染 mounted:渲染完成 二、应用 在created之后获取网络请求,封装成函数,在需要的地方直接调用函数...
【CTFShow】Web入门-信息搜集
Web1 好长时间没刷题了,第一眼看到的时候有点儿手足无措 在信息搜集中最常用的手段就是直接查看源代码,所以直接F12大法吧,果不其然拿到了flag Web2 题目给了提示js前台拦截 无效操作 打开题看到界面还是一脸茫然 坏了,这波貌似…...
Go 语言 net/http 包使用:HTTP 服务器、客户端与中间件
Go 语言标准库中的net/http包十分的优秀,提供了非常完善的 HTTP 客户端与服务端的实现,仅通过几行代码就可以搭建一个非常简单的 HTTP 服务器。几乎所有的 go 语言中的 web 框架,都是对已有的 http 包做的封装与修改,因此…...
YOLO v2:目标检测领域的全面性进化
引言 在YOLO v1取得巨大成功之后,Joseph Redmon等人在2016年提出了YOLO v2(也称为YOLO9000),这是一个在准确率和速度上都取得显著提升的版本。YOLO v2不仅保持了v1的高速特性,还通过一系列创新技术大幅提高了检测精度…...
卓力达红外热成像靶标:革新军事训练与航空检测的关键技术
引言 红外热成像技术凭借其非接触、无辐射、全天候工作的特性,已成为现代军事和航空领域的重要工具。南通卓力达研发的**自发热红外热成像靶标**,通过创新设计与制造工艺,解决了传统训练器材的痛点,并在军事和航空应用中展现出显…...
【生产实践】Dolphinscheduler集群部署后Web控制台不能登录问题解决
太长不看版 问题描述: Dolphinscheduler按生产手册使用一键脚本集群部署后,控制台登录页面可以打开,但使用默认账户怎么都登录不进去,尝试在数据库中清理登录用户字段,发现数据库中并没有相关用户字段,而后…...
Shell和Bash介绍
Shell是硬件和软件之间的交互界面。Bash是一种shell,在Linux系统中比较常见。我目前使用的Mac用的Z shell(zsh). 可以在terminal里面通过zsh命令对系统进行操作。这是与Windows所见所得,用鼠标点相比,Mac和Linux都可以完全用命令操作。常用的…...
数据 分析
应用统计和计算方法,识别数据特征与规律. 1 分析方法 1.1 描述性分析 总结和呈现数据的基本特征;特点是简单直观. 1.1.1 集中趋势分析 ①均值:数据总和除以数据个数,反映数据的平均水平;特点是易受极端值影响;用于了解整体平均情况,例如计算班级学生平均成绩. ②中位数:将数…...
纯css实现蜂窝效果
<!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>蜂窝效果</title><style>body {margin: 0…...
用PyTorch在超大规模下训练深度学习模型:并行策略全解析
我猜咱们每个人肯定都累坏了,天天追着 LLM 研究社区跑,感觉每天都冒出个新的最牛模型,把之前的基准都给打破了呢。要是你好奇为啥创新速度能这么快,那主要就是研究人员能够在超大规模下训练和验证模型啦,这全靠并行计算…...
linux-进程信号捕捉
1. 信号捕捉流程 操作系统会在合适的时候处理信号,那这个合适的时候是什么时候呢?进程从内核态返回到用户态的时候。 假如用户程序注册了 SIGQUIT 信号的处理函数 sighandler。当程序正在执行 main 函数时,如果发生中断、异常或系统调用&…...