类和对象(拷贝构造和运算符重载)下
类和对象(拷贝构造和运算符重载)下
这一集的主要目标先是接着上一集讲完日期类。然后再讲一些别的运算符的重载,和一些语法点。
这里我把这一集要用的代码先放出来:(大家拷一份代码放在编译器上先)
Date.h
#include <iostream>
#include <cassert>
using std::cout;
using std::cin;
using std::endl;
using std::ostream;
using std::istream;class Date
{
private:int _year;int _month;int _day;
public://构造函数Date(int year=2025,int month=4,int day=30);//拷贝构造函数//日期类可以不写拷贝构造函数,编译器写的符合我们的要求Date(const Date& dd);//析构函数就不写了,日期类并不需要//打印void Print();//获取当年当月的天数int monthday(int year,int month);//比较日期大小bool operator==(const Date& other);bool operator!=(const Date& other);bool operator>(const Date& other);bool operator<(const Date& other);bool operator>=(const Date& other);bool operator<=(const Date& other);//加减运算Date& operator+=(int day);//加上n天后的日期是多少Date operator+(int day);Date& operator-=(int day);//n天前的日期是多少Date operator-(int day);Date& operator++();//前置++Date operator++(int);//后置++Date& operator--();Date operator--(int);int operator-(const Date& other);//两个日期相隔几天//赋值重载Date& operator=(const Date& other);//流插入重载//声明为友元函数friend ostream& operator<<(ostream& out, const Date& dd);//流提取重载friend istream& operator>>(istream& in, Date& dd);//&取地址重载Date* operator&();//const取地址&重载const Date* operator&() const;
};ostream& operator<<(ostream& out, const Date& dd);
istream& operator>>(istream& in, Date& dd);
Date.cpp
#include "Date.h"Date::Date(int year,int month,int day)
{_year=year;_month=month;_day=day;if (_year < 1 ||_month < 1 || _month > 12 ||_day < 1 || _day > monthday(_year, _month)){//assert(false);Print();cout << "日期非法" << endl;}
}Date::Date(const Date& dd)
{_year=dd._year;_month=dd._month;_day=dd._day;
}void Date::Print()
{cout<<_year<<'_'<<_month<<'_'<< _day<<endl;
}int Date::monthday(int year,int month)
{assert(year>=1 && month>=1 && month<=12);int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};if(month==2 && ((year%4==0 && year%100!=0) || year%400==0)){return 29;}else{return day[month];}
}bool Date::operator==(const Date& other)
{return _year==other._year&& _month==other._month&& _day==other._day;
}bool Date::operator!=(const Date& other)
{return !(*this==other);
}bool Date::operator>(const Date& other)
{if(_year>other._year){return true;}if(_year==other._year && _month>other._month){return true;}if(_year==other._year && _month==other._month && _day>other._day){return true;}return false;
}bool Date::operator<(const Date& other)
{return !(*this>=other);
}
bool Date::operator>=(const Date& other)
{return (*this>other||*this==other);
}bool Date::operator<=(const Date& other)
{return !(*this>other);
}Date& Date::operator+=(int day)
{if(day<0){return *this-=(-day);}_day+=day;while(_day> monthday(_year,_month)){_day-= monthday(_year,_month);_month+=1;if(_month>12){_month=1;_year+=1;}}return *this;
}
Date Date::operator+(int day)
{Date tmp(*this);tmp+=day;return tmp;
}
Date& Date::operator-=(int day)
{if(day<0){return *this+=(-day);}_day-=day;while(_day<=0){_month-=1;if(_month<1){_month=12;_year-=1;}_day+= monthday(_year,_month);}return *this;
}
Date Date::operator-(int day)
{Date tmp(*this);tmp-=day;return tmp;
}Date& Date::operator++()
{*this+=1;return *this;
}
Date Date::operator++(int)
{Date tmp(*this);*this+=1;return tmp;
}
Date& Date::operator--()
{*this-=1;return *this;
}
Date Date::operator--(int)
{Date tmp(*this);*this-=1;return tmp;
}int Date::operator-(const Date& other)
{int day=0;Date tmp(other);while(*this!=tmp){if(*this>tmp){++tmp;day++;}if(*this<tmp){--tmp;day++;}}return day;
}Date& Date::operator=(const Date& other)
{if(this != &other)//防止自己给自己赋值{_year=other._year;_month=other._month;_day=other._day;}return *this;
}//流插入重载
ostream& operator<<(ostream& out, const Date& dd)
{out<<dd._year<<'_'<<dd._month<<'_'<<dd._day<<endl;return out;
}
//流提取重载
istream& operator>>(istream& in,Date& dd)
{in>>dd._year>>dd._month>>dd._day;return in;
}//&取地址重载
Date* Date::operator&()
{return this;
}
//const取地址&重载
const Date* Date::operator&() const
{return this;
}
main.cpp
#include "Date.h"void Test()
{Date d1;Date d2(1999,10,17);Date d3;int day=d1-d2;int day1=d3-d1;cout<<day<<endl<<day1<<endl;
}
void Test1()
{Date d1;cout<<d1<<endl;cin>>d1;cout<<d1<<endl;}
int main()
{Test();return 0;
}
大家想去验证结果的时候可以去网上搜:日期计算器
我会按照头文件函数声明的顺序讲解函数逻辑,以及语法点:
日期类函数顺序讲解:
-
int monthday(int year,int month);
-
bool operator==(const Date& other); bool operator!=(const Date& other);
-
bool operator>(const Date& other); bool operator<(const Date& other); bool operator>=(const Date& other); bool operator<=(const Date& other);
-
Date& operator+=(int day);//加上n天后的日期是多少 Date operator+(int day); Date& operator-=(int day);//n天前的日期是多少 Date operator-(int day);
-
Date& operator++();//前置++ Date operator++(int);//后置++ Date& operator--(); Date operator--(int);
-
int operator-(const Date& other);//两个日期相隔几天
-
//赋值重载 Date& operator=(const Date& other);
这个上一集有讲, 这一集就不讲了。
那么到这里为止, 日期类的一些基础逻辑函数都已经讲完了, 现在来填一下前面埋的坑.
好, 这部分的坑填完了, 接着讲一些别的重载:
-
//流插入重载//声明为友元函数 friend ostream& operator<<(ostream& out, const Date& dd); //流提取重载 friend istream& operator>>(istream& in, Date& dd);
有的同学觉得, 诶, 这不会和位移运算符<<这些冲突嘛? 不会的, 编译器没那么傻. 而且能用位移运算符的不也就整型嘛. 所以不会有问题的.
在 C++ 里,const
成员函数是一种特殊的成员函数,它的关键作用在于保证该函数不会对调用它的对象的成员变量进行修改。(一句话就是: 只要是你不修改对象本身的函数, 你都给我加上const)
定义与语法
在成员函数的参数列表之后添加const
关键字,就能将其声明为const
成员函数。其基本语法如下:
class ClassName {
public:// 返回类型 函数名(参数列表) constReturnType functionName(ParameterList) const {// 函数体}
};
注意事项
this
指针:在const
成员函数内部,this
指针是一个指向const
对象的指针,这就保证了函数内部不能通过this
指针来修改对象的成员变量。- 函数重载:
const
成员函数可以和非const
成员函数进行重载。当调用成员函数时,编译器会依据对象是否为const
来选择合适的函数。(注意昂, 就要用到这一点了)
这里const成员函数其实有一个权限问题, 说白了就是const修饰之后不就是多了一道枷锁嘛. 你不能说我给你带上了锁, 你还给我解开跑了, 这是不行的.
权限只能平移或缩小, 不能放大. 这就像市长可以可以管理市内业务(平移), 也可以管理一个村子(缩小), 但是你没有权限去管省长干的事情. (大概是这个意思, 不严谨的举例哈)
-
//&取地址重载 Date* operator&(); //const取地址&重载 const Date* operator&() const;
- 函数重载:
const
成员函数可以和非const
成员函数进行重载。当调用成员函数时,编译器会依据对象是否为const
来选择合适的函数。看到没.
相关文章:
类和对象(拷贝构造和运算符重载)下
类和对象(拷贝构造和运算符重载)下 这一集的主要目标先是接着上一集讲完日期类。然后再讲一些别的运算符的重载,和一些语法点。 这里我把这一集要用的代码先放出来:(大家拷一份代码放在编译器上先) Date.h #include <iostream> #include <cassert> …...
Codeforces Round 1008 (Div. 2) C
C 构造 题意:a的数据范围大,b的数据范围小,要求所有的a不同,考虑让丢失的那个a最大即可。问题变成:构造一个最大的a[i] 思路:令a2是最大的,将a1,a3,a5....a2*n1,置为最大的b,将a4,a…...
操作系统(1)多线程
在当今计算机科学领域,多线程技术已成为提高程序性能和响应能力的关键手段。无论是高性能计算、Web服务器还是图形用户界面应用程序,多线程都发挥着不可替代的作用。本文将全面介绍操作系统多线程的概念、实现原理、同步机制以及实际应用场景,…...
系统架构设计师:设计模式——创建型设计模式
一、创建型设计模式 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。 随着系统演化得越来越依赖于对象复合而不是类…...
使用Set和Map解题思路
前言 Set和Map这两种数据结构,在解决一些题上,效率很高。跟大家简单分享一些题以及如何使用Set和Map去解决这些题目。 题目链接 136. 只出现一次的数字 - 力扣(LeetCode) 138. 随机链表的复制 - 力扣(LeetCode) 旧…...
Java 算法入门:从基础概念到实战示例
在计算机科学领域,算法如同魔法咒语,能够将无序的数据转化为有价值的信息。对于 Java 开发者而言,掌握算法不仅是提升编程能力的关键,更是解决复杂问题的核心武器。本文将带领你走进 Java 算法的世界,从基础概念入手&a…...
【大模型】图像生成:ESRGAN:增强型超分辨率生成对抗网络的革命性突破
深度解析ESRGAN:增强型超分辨率生成对抗网络的革命性突破 技术演进与架构创新核心改进亮点 环境配置与快速入门硬件要求安装步骤 实战全流程解析1. 单图像超分辨率重建2. 自定义数据集训练3. 视频超分处理 核心技术深度解析1. 残差密集块(RRDB࿰…...
记录搭建自己的应用中心-需求看板搭建
记录搭建自己的应用中心-需求看板搭建 人员管理新增用户组织用户登录和操作看板状态看板任务通知任务详情 人员管理 由于不是所有人都有应用管理权限,所以额外做了一套应用登录权限,做了一个新的组织人员表,一个登录账户下的所有应用人员共享…...
探秘数据结构:构建高效算法的灵魂密码
摘要 数据结构作为计算机科学的基石,其设计与优化直接影响算法效率、资源利用和系统可靠性。本文系统阐述数据结构的基础理论、分类及其核心操作,涵盖数组、链表、栈、队列、树、图、哈希表与堆等经典类型。深入探讨各结构的应用场景与性能对比…...
多节点监测任务分配方法比较与分析
多监测节点任务分配方法是分布式系统、物联网(IoT)、工业监测等领域的核心技术,其核心目标是在资源受限条件下高效分配任务,以优化系统性能。以下从方法分类、对比分析、应用场景选择及挑战等方面进行系统阐述: 图1 多…...
spring-boot-maven-plugin 将spring打包成单个jar的工作原理
spring-boot-maven-plugin 是 Spring Boot 的 Maven 插件,它的核心功能是将 Spring Boot 项目打包成一个独立的、可执行的 Fat JAR(包含所有依赖的 JAR 包)。以下是它的工作原理详解: 1. 默认 Maven 打包 vs Spring Boot 插件打包…...
盐化行业数字化转型规划详细方案(124页PPT)(文末有下载方式)
资料解读:《盐化行业数字化转型规划详细解决方案》 详细资料请看本解读文章的最后内容。 该文档聚焦盐化行业数字化转型,全面阐述了盐化企业信息化建设的规划方案,涵盖战略、架构、实施计划、风险及效益等多个方面,旨在通过数字化…...
开源革命:从技术共享到产业变革——卓伊凡的开源实践与思考-优雅草卓伊凡
开源革命:从技术共享到产业变革——卓伊凡的开源实践与思考-优雅草卓伊凡 一、开源的本质与行业意义 1.1 开源软件的定义与内涵 当卓伊凡被问及”软件开源是什么”时,他给出了一个生动的比喻:”开源就像将食谱公之于众的面包师,…...
解锁 C++26 的未来:从语言标准演进到实战突破
一、C26 的战略定位与开发进展 C26 的开发已进入功能冻结阶段,预计 2026 年正式发布。作为 C 标准委员会三年一迭代的重要版本,其核心改进聚焦于并发与并行性的深度优化,同时在内存管理、元编程等领域实现重大突破。根据 ISO C 委员会主席 H…...
terraform实现本地加密与解密
在 Terraform 中实现本地加密与解密(不依赖云服务),可以通过 OpenSSL 或 GPG 等本地加密工具配合 External Provider 实现。以下是完整的安全实现方案: 一、基础架构设计 # 文件结构 . ├── secrets │ ├── encrypt.sh …...
黄雀在后:外卖大战新变局,淘宝+饿了么开启电商大零售时代
当所有人以为美团和京东的“口水战”硝烟渐散,外卖大战告一段落时,“螳螂捕蝉,黄雀在后”,淘宝闪购联合饿了么“闪现”外卖战场,外卖烽火再度燃起。 4 月30日,淘宝天猫旗下即时零售业务“小时达”正式升级…...
基本功能学习
一.enum枚举使用 E_SENSOR_REQ_NONE 的定义及用途 在传感器驱动开发或者电源管理模块中,E_SENSOR_REQ_NONE通常被用来表示一种特殊的状态或请求模式。这种状态可能用于指示当前没有活动的传感器请求,或者是默认初始化状态下的一种占位符。 可能的定义…...
59常用控件_QComboBox的使用
目录 代码示例:使用下拉框模拟麦当劳点餐 代码示例:从文件中加载下拉框的选项 QComboBox表示下拉框 核心属性 属性说明currentText当前选中的文本currentIndex当前选中的条目下标。 从 0 开始计算。如果当前没有条目被选中,值为 -1editable是否允许修改…...
卡洛诗西餐的文化破圈之路
在餐饮市场的版图上,西餐曾长期被贴上“高端”“舶来品”“纪念日专属”的标签,直到卡洛诗以高性价比西餐的定位破局,将意大利风情与家庭餐桌无缝衔接。这场从异国符号到家常选择的转型,不仅是商业模式的创新,更是一部…...
Python-57:Base32编码和解码问题
问题描述 你需要实现一个 Base32 的编码和解码函数。 相比于 Base32,你可能更熟悉 Base64,Base64 是非常常见的用字符串形式表示二进制数据的方式,在邮件附件、Web 中的图片中都有广泛的应用。 Base32 是 Base64 的变种,与 Bas…...
【排序算法】八大经典排序算法详解
一、直接选择排序(Selection Sort)算法思想算法步骤特性分析 二、堆排序(Heap Sort)算法思想关键步骤特性分析 三、直接插入排序(Insertion Sort)算法思想算法步骤特性分析 四、希尔排序(Shell …...
近端策略优化PPO详解:python从零实现
🧠 向所有学习者致敬! “学习不是装满一桶水,而是点燃一把火。” —— 叶芝 我的博客主页: https://lizheng.blog.csdn.net 🌐 欢迎点击加入AI人工智能社区! 🚀 让我们一起努力,共创…...
C# System.Text.Json终极指南(十):从基础到高性能序列化实战
一、JSON序列化革命:System.Text.Json的架构优势 1.1 核心组件解析 1.2 性能基准测试(.NET 8) 操作Newtonsoft.JsonSystem.Text.Json性能提升简单对象序列化1,200 ns450 ns2.7x大型对象反序列化15 ms5.2 ms2.9x内存分配(1k次操作)45 MB12 MB3.75x二、基础序列化操作精解 …...
Centos7.9 安装mysql5.7
1.配置镜像(7.9的镜像过期了) 2.备份原有的 CentOS 基础源配置文件 sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 3.更换为国内镜像源 sudo vi /etc/yum.repos.d/CentOS-Base.repo 将文件内容替换为以下内容&am…...
Qt指南针
Qt写的指南针demo. 运行结果 滑动调整指针角度 实现代码 h文件 #ifndef COMPASS_H #define COMPASS_H#include <QWidget> #include <QColor>class Compass : public QWidget {Q_OBJECT// 可自定义属性Q_PROPERTY(QColor backgroundColor READ backgroundColor WRI…...
杜邦分析法
杜邦分析法(DuPont Analysis)是一种用于分析企业财务状况和经营绩效的综合分析方法,由美国杜邦公司在20世纪20年代率先采用,故得名。以下是其相关内容介绍: 核心指标与分解 净资产收益率(ROE):杜邦分析法的核心指标,反映股东权益的收益水平,用以衡量公司运用自有资本…...
给U盘加上图标
电脑插入U盘后,U盘的那个标志没有特色,我们可以换成有意义的照片作为U盘图标,插上U盘就能看到,多么地浪漫。那该如何设置呢?一起来看看吧 选择一张ICO格式的图片到U盘里 PNG转ICO - 在线转换图标文件PNG转ICO - 免费…...
人工智能对未来工作的影响
人工智能对未来工作的影响是多方面的,既包括对就业结构的改变,也涉及工作方式、职业技能需求以及社会政策的调整。以下是对人工智能对未来工作影响的详细分析: 一、就业结构的变革 岗位替代与消失 人工智能技术在许多领域展现出强大的自动化…...
RocketMQ常见面试题一
1. RocketMQ 是什么?它的核心组件有哪些? 答:RocketMQ 是阿里巴巴开源的一款分布式消息中间件,支持高吞吐、低延迟、高可用的消息发布与订阅。 核心组件: NameServer:轻量级注册中心,管理 Broker 的元数据(路由信息),无状态。 Broker:消息存储和转发节点,分为 Mas…...
C++调试(壹):初步认识WinDbg和dump文件
目录 1.前言 2.WinDbg是什么? 3.WinDbg安装 4.Dump文件是什么? 5.生成Dump文件的场景 前言 这是一个关于C调试的博客,该系列博客主要是讲解如何使用WinDbg工具结合dump文件调试程序。在日常开发过程中,我们往往无法完…...
centos7 离线安装python3 保留python2
一、事前准备: (1)查看centos具体版本 cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core) (2)查看linux中当前python版本 centos7 默认安装python2.7.5 (3)查看python3的依赖&#…...
【dify—9】Chatflow实战——博客文章生成器
目录 一、创建Chatflow 二、创建变量 三、添加时间工具 四、编写提示词 五、回复输出 六、运行 第一部分 安装difydocker教程:【difydocker安装教程】-CSDN博客 第二部分 dock重装教程:【dify—2】docker重装-CSDN博客 第三部分 dify拉取镜像&…...
华为OD机试真题——斗地主之顺子(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
2025 A卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录…...
3.2/Q2,Charls最新文章解读
文章题目:Internet usage elevates elderly obesity: evidence from a difference-in-differences analysis of the broadband China policy DOI:10.1186/s13690-025-01565-9 中文标题:互联网使用导致老年人肥胖:中国宽带政策差异…...
Seata服务端开启事务核心源码解析
文章目录 概述一、doGlobalBegin1.1、createGlobalSession1.2、addSessionLifecycleListener1.3、begin 概述 Seata服务端作为TC角色,用于接收客户端标注了GlobalTransactional也就是TM角色的开启事务,提交/回滚事务请求,维护全局和分支事务的…...
Seata服务端回滚事务核心源码解析
文章目录 前言一、doGlobalRollback3.1、changeGlobalStatus3.2、doGlobalRollback 前言 本篇介绍Seata服务端接收到客户端TM回滚请求,进行处理并且驱动所有的RM进行回滚的源码。 一、doGlobalRollback doGlobalRollback是全局回滚的方法: 首先依旧…...
PMP-第九章 项目资源管理(一)
项目资源管理概述 项目资源管理包括识别、获取和管理所需资源以完成项目的各个过程资源主要分为实物资源和人力资源;实物资源包括设备、材料和基础设施等团队资源或人员指的是人力资源团队资源管理与项目干系人管理有重叠的部分,本章重点关注组成项目团…...
【Unity】MVP框架的使用例子
在提到MVP之前,可以先看看这篇MVC的帖子: 【Unity】MVC的简单分享以及一个在UI中使用的例子 MVC的不足之处: 在MVC的使用中,会发现View层直接调用了Model层的引用,即这两个层之间存在着一定的耦合性,而MV…...
Matlab/Simulink - BLDC直流无刷电机仿真基础教程(四) - PWM调制模拟
Matlab/Simulink - BLDC直流无刷电机仿真基础教程(四) - PWM调制模拟 前言一、PWM调制技术基本原理二、仿真模型中加入PWM调制三、逆变电路MOS管添加体二极管四、模拟添加机械负载五、仿真模型与控制框图文章相关模型文件下载链接参考链接 前言 本系列文…...
x86架构详解:定义、应用及特点
一、x86架构的定义 x86 是由Intel公司开发的复杂指令集(CISC)处理器架构,起源于1978年的Intel 8086处理器,后续扩展至32位(IA-32)和64位(x86-64)。其名称来源于早期处理器型号的“8…...
C++学习-入门到精通-【3】控制语句、赋值、自增和自减运算符
C学习-入门到精通-【3】控制语句、赋值、自增和自减运算符 控制语句、赋值、自增和自减运算符 C学习-入门到精通-【3】控制语句、赋值、自增和自减运算符一、什么是算法二、伪代码三、控制结构顺序结构选择结构if语句if...else语句switch语句 循环结构while语句 四、算法详述&a…...
【Bootstrap V4系列】学习入门教程之 页面内容排版
Bootstrap V4 学习入门教程之 页面内容排版 按钮上的指针排版一、Global settings 全局设置二、Headings 标题2.1 Customizing headings 自定义标题2.2 Display headings 显示标题2.3 Lead 引导 三、Blockquotes 块引用3.1 Naming a source 命名源3.2 Alignment 对齐 四、Lists…...
GTA5(传承/增强) 13980+真车 超跑 大型载具MOD整合包+最新GTA6大型地图MOD 5月最新更新
1500超跑载具 1000普通超跑 1500真车超跑 各种军载具1000 各种普通跑车 船舶 飞机 1000 人物1500 添加式led载具1000 超级英雄最新版 添加添加式武器MOD1000 添加地图MOD500 添加超跑载具2000 当前共计1.2wMOD 4月2日更新 新增770menyoo地图 当前共计12770 新增48款超级英雄最新…...
目标文件的段结构及核心组件详解
目标文件(如 .o 或 .obj)是编译器生成的中间文件,其结构遵循 ELF(Linux)或 COFF(Windows)格式。以下是其核心段(Section)和关键机制的详细解析: 1. 目标文件的…...
60常用控件_QSpinBox的使用
目录 代码示例:调整麦当劳购物车中的份数 使⽤ QSpinBox 或者 QDoubleSpinBox 表⽰ "微调框", 它是带有按钮的输⼊框. 可以⽤来输⼊整 数/浮点数. 通过点击按钮来修改数值⼤⼩. 由于 SpinBox 和 QDoubleSpinBox ⽤法基本相同, 就只介绍 SpinBox 的…...
数据库Mysql_约束
将失败当作自己的老师,即使他会使自己难堪 ----------陳長生. 1.什么是数据库约束 数据库约束是在数据库中对表中的内容设定条件或者规则,设置了这些规则能使得数据更具体有准确性,可靠性。 2.约束类型 NOT NULL设置列不能为空UNIQUE设置列…...
C++笔记-继承(下)(包含派生类的默认成员函数,菱形继承等)
一.派生类的默认成员函数 1.14个常见默认成员函数 默认成员函数,默认的意思就是指我们不写,编译器会自动为我们生成一个,那么在派生类中,这几个成员函数是如何生成的呢? 1.派生类的构造函数必须调用基类的构造函数初…...
DeepSeek V3 训练策略:FP8混合精度与多Token预测
近年来,大规模语言模型取得重大突破,但其训练与部署成本也随之攀升。DeepSeek 系列开源模型致力于通过优化模型结构和训练策略来降低成本、提升性能。DeepSeek V3 融合了多种先进技术(如 FP8 低精度训练、DualPipe 双流水线机制、多Token 预测目标等),在保证模型能力的同时…...
开始一个vue项目
一、创建vite项目和配置 1、查看npm版本: npm --version 根据版本选择创建命令 # npm 6.x npm create vitelatest my-vue-product --template vue # npm 7 npm create vitelatest my-vue-product -- --template vue 2、依次执行: npm install n…...
世纪华通:从财报数据看其在游戏领域的成功与未来
引言 日前,世纪华通发布了2024年及2025年第一季度的财务报告。报告显示,公司不仅在过去一年取得了显著的营收增长,而且在国内外市场均有出色表现。特别是《无尽冬日》和《Whiteout Survival》等游戏的成功,为世纪华通带来了巨大的…...