c++

简介: clock_t,size_t,time_t能够把系统时间和日期表示为某种整数time data int结构类型tm把日期和时间以C结构形式保存;C结构形式保存struct tm{int tm_sec; //second秒,正常范围从0~59,允许至61int tm_min; //minute分,范围...


clock_t,size_t,time_t能够把系统时间和日期表示为某种整数
time data int
结构类型tm把日期和时间以C结构形式保存;
C结构形式保存
struct tm
{
int tm_sec; //second秒,正常范围从0~59,允许至61
int tm_min; //minute分,范围从0~59
int tm_hour; //hours时,范围0~23
int tm_mday; //一个月中的第几天,范围1~31
int tm_mon; //month月,范围从0~11
int tm_year; //自1900年起的年数
int tm_wday; //一周中的第几天,范围从0~6,从星期日起算
int tm_yday; //一年中的第几天,范围从0~365,从1月1日起算
int tm_isdst; //夏令时dayRight save time (dst)
}

日期时间重要函数,所有这些函数都是C/C++标准库的组成部分

int tm_year;; //自1900年起的年数
time_t time(time_t *time);
该函数返回系统的当前日历时间,自1970/01/01经过秒数,函数返回系统的当前日历时间,自1970/01/01日以来经过的秒数,如果系统没有时间,则返回1
每天秒数

1分钟=60秒
1小时=60分钟
1天=24小时
每天的秒数 = 24 * 60 * 60 = 86400
一周7天 = 7 * 86400 = 604800
一个月30天算 30 * 86400 = 2592000
一年 12个月 * 2592000 获得一年的秒数 = 31104000

大约一年有這么多的秒数,那么自1970年/01/01到目前(2017/8) 约47年头 有多少秒
月 47 * 12 = 564;
564 * 2592000 = 1461888000
47 * 31104000 =


char *ctime(const time_t *time);
返回一个表示当地时间的字符串,字符串
char *ctime(const time_t *time);
返回一个表示当地时间的字符串指针char *ctime(const time_t *time) 返回一个表示本地时间字符串指针,
字符串形式day month year hours:minutes:seconds year\n\0换行字符串结束标志;

char *ctime(const time_t *time);
day month year hours:minutes:seconds year\n\0;

struct tm *localtime(const time_t *time);
函数返回一个指向表示本地时间的tm结构的指针;

struct tm *localtime(const time_t *time);
tm结构指针
clock_t clock(void);
四种与时间相关的类型 clock_t time_t size_t tm 类型clock_t size_t time_t 能够把系统时间日期表示为某种整数
clock_t clock
clock_t clock(void)
函数返回程序执行起(程序的开头),处理器时钟所用的时间
tm struct point;
clock_t clock(void)
返回一个表示当地时间的字符串指针
返回一个指向字符串的指针 字符串包含了time所指向结构中存储的信息,返回形式
char *asctime(const struct tm *time);
char *asctime(const struct )
struct tm *time

char *asctime(const struct tm* time);
函数返回一个指向字符串的指针 字符串包含了time所指向结构中存储的信息
day month date hours minutes seconds year

struct tm *gmtime(const tm * time);

struct tm *gmtime(const time_t *time);

函数返回一个指向time的指针 time为tm结构

universal universal time coordinated
universal time coordinated
greenwich mean time;

time_t mktime(struct tm *time);
time_t mktime(struct tm *time);
函数返回日历
size_t strftime()
函数用于格式化日期和时间为指定的格式;

double difftime(time_t time2,time_t time1);
函数返回time1和time2之间相差的秒数
double difftime(time_t time2,time_t time1);

使用结构化tm 格式化时间

struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
}

tm
int tm_sec; 0 59 61
int tm_min; 范围从0 59second minutes
24 0 23
mday 一个月中的第几天
范围从1 ~ 31;
int 一个月的第几天

月 0 ~ 11;
int tm_year;//自1900年起的年份
int tm_wday 一周中的第几天,范围0 ~ 6;
int tm_year 一年中的第几天

int tm_dst;
C++基本的输入输出
标准库提供了一组丰富的输入输出
stdio 编程中最基本和最常见的io
i/o发生在流中,流是字节序列
stream bytes sequence;
字节序列 io发生在流中 流是字节序列
如果
如果字节流是从设备流向内存 键盘 磁盘 网络连接
字节流从设备 键盘 磁盘驱动器 网络连接等 流向内存;
输出操作
s输入输出 是 内存与设备之间的字节序列流之间的流向
字节流从内存流向设备(显示屏,打印机,磁盘驱动器,网络连接);

i/o裤头文件

<iostream> cin cout cerr clog对象 分别对应于标准输入流 标准输出流 非缓冲标准错误流 缓冲标准错误流
cin cout cerr clog cin >> cout <<
非缓冲标准错误流 cerr
clog
缓冲标准错误流
iostream
cin cout cerr clog;
对应
cerr 非缓冲标准错误流
Clog 缓冲标准错误流;
iostream

iomanip
文件通过所谓的参数化的流操作器(setw和setprecision)申明对执行标准化io有用的服务

文件通过所谓的参数化的流操纵器
iomanip文件通过所谓的参数化的流操纵器 (setw setprecision) 来申明对标准化io有用的服务
iomanip
fstream 文件为用户控制的文件处理申明服务 我们将在文件和流的相关章节讨论细节;
文件为用户控制的文件处理申明服务
文件和流的相关章节讨论细节;
fstream
通过所谓的参数化的流操纵器setw setprecision;
字节流从设备 键盘磁盘驱动器 网络连接 流向内存
<<运算符被重载来输出内置类型
整型 浮点 double 字符串 指针
流提取运算符
流插入
标准输入预定义的对象cin是istream类的一个实例 cin对象附属到标准输入设备通常是键盘 cin是
与流提取运算符>>集合使用

标准输出流cout 预定义的对象
标准输出流cout
预定义的对象cout是ostream类的一个实例 cout对象连接到标准输出设备
cout 对象连接到标准输出设备,对象连接到标准输出设备 显示屏

输出cout cout对象连接到标准输出设备-显示屏
cout与流插入运算符<<结合使用
<< 流插入运算符 cout对象连接标准输出设备 显示屏

对象附属到标准输入设备 键盘cin是流提取运算符 >> 集合使用

cout对象 连接到标准输出设备-显示屏
cin对象 负数到标准输入设备-键盘 cin是流提取运算符 >> 结合
cerr对象附属到标准错误设备-标准错误设备-显示屏 cerr对象是非缓冲的 每个流插入到cerr都会立即输出;
cerr与流插入运算符<<结合使用

cout << 流插入运算符
cout >> 流提取运算符;
cin对象附属到标准输入设备 通常键盘 cin >> 与流提取运算符 >> 结合使用;
预定义的对象 ostream 类的实例; clog对象附属到标准错误设备 clog对象是缓冲的
意味着每个流插入到clog都会先存储在缓冲
每个流插入到Clog会先 存储在缓冲 直到缓冲填满或者缓冲区刷新区才会输出;

cerr流显示错误消息,其它的 日志消息使用clog流来输出;
dataStruct数组允许定义可存储相同类型数据项的变量
可存储相同类型数据项的变量
数据结构是用户自定义的可用的数据类型 允许存储不同类型的数据项
结构用于表示一条记录,假设跟踪图书馆中书本的动态,可能需要跟踪每本书的下列属性
Title
Author
Subject
Book ID

struct语句定义了一个包含多个成员的新的数据类型
struct type_name
{
member_type1 member_name1;
member_type2 member_name2;
member_type3 member_name3;
} object_names;

struct Books
{
char title[50];
char author[50];
char subject[100];
int book_id;
} book;
成员访问运算符是结构变量名称和我们要访问的结构成员之间的一个句号
typedef long int *pint32;
pint32 x,y,z;
typedef struct
{
char title[50];
char author[50];
char subject[100];
int book_id;
} Books; Books 是自定义的数据的别名 ,即是数据类型别名 是数据类型 不是数据类型下的变量;

函数返回引用时,则返回一个指向返回值的隐
所有指针的值的实际数据类型,
指针值的实际数据类型 都是一样,都是一个代表内存地址的长的十六进制数
不同数据类型指针之间唯一的不同是 指针指向的变量或常量的数据类型
C++中使用指针时频繁进行的操作,定义一个指针变量,把变量地址赋值给指针,访问指针变量中可用地址的值;
返回位于操作数所指定地址的变量的值
定义一个指针变量,把变量地址赋值给指针,访问指针变量中存储可用地址的值;
通过使用一元运算符*来返回位于操作数所指定地址的变量的值;

指针包含变量地址,指向指针的指针,第一个包含了第二个指针的地址 ,第二个指针指向包含实际值的位置;
指向int类型的指针的指针;
int **var;

目录
相关文章
|
5天前
|
Kubernetes 安全 Devops
【云效流水线 Flow 测评】驾驭云海:五大场景下的云效Flow实战部署评测
云效是一款企业级持续集成和持续交付工具,提供免费、高可用的服务,集成阿里云多种服务,支持蓝绿、分批、金丝雀等发布策略。其亮点包括快速定位问题、节省维护成本、丰富的企业级特性及与团队协作的契合。基础版和高级版分别针对小型企业和大规模团队,提供不同功能和服务。此外,云效对比Jenkins在集成阿里云服务和易用性上有优势。通过实战演示了云效在ECS和K8s上的快速部署流程,以及代码质量检测和AI智能排查功能,展示了其在DevOps流程中的高效和便捷,适合不同规模的企业使用。本文撰写用时5小时,请各位看官帮忙多多支持,如有建议也请一并给出,您的建议能帮助我下一篇更加出色。
121128 10
|
10天前
|
机器学习/深度学习 数据采集 人工智能
人类生产力的解放?揭晓从大模型到AIGC的新魔法
本文从介绍大模型的概念延伸到大模型的革命意义。作者讲述了通过大模型的加持,让AIGC有了更多的可能性。
126711 3
|
9天前
|
存储 Prometheus 并行计算
10倍性能提升-SLS Prometheus 时序存储技术演进
本文将介绍近期SLS Prometheus存储引擎的技术更新,在兼容 PromQL 的基础上实现 10 倍以上的性能提升。同时技术升级带来的成本红利也将回馈给使用SLS 时序引擎的上万内外部客户。
89156 2
|
10天前
|
人工智能 弹性计算 算法
一文解读:阿里云AI基础设施的演进与挑战
对于如何更好地释放云上性能助力AIGC应用创新?“阿里云弹性计算为云上客户提供了ECS GPU DeepGPU增强工具包,帮助用户在云上高效地构建AI训练和AI推理基础设施,从而提高算力利用效率。”李鹏介绍到。目前,阿里云ECS DeepGPU已经帮助众多客户实现性能的大幅提升。其中,LLM微调训练场景下性能最高可提升80%,Stable Difussion推理场景下性能最高可提升60%。
|
11天前
|
机器人 Linux API
基于Ollama+AnythingLLM轻松打造本地大模型知识库
Ollama是开源工具,简化了在本地运行大型语言模型(ile优化模型运行,支持GPU使用和热加载。它轻量、易用,可在Mac和Linux上通过Docker快速部署。AnythingLLM是Mintplex Labs的文档聊天机器人,支持多用户、多种文档格式,提供对话和查询模式,内置向量数据库,可高效管理大模型和文档。它也是开源的,能与Ollama结合使用,提供安全、低成本的LLM体验。这两款工具旨在促进本地高效利用和管理LLMs。
139585 27
|
12天前
|
消息中间件 安全 API
Apache RocketMQ ACL 2.0 全新升级
RocketMQ ACL 2.0 不管是在模型设计、可扩展性方面,还是安全性和性能方面都进行了全新的升级。旨在能够为用户提供精细化的访问控制,同时,简化权限的配置流程。欢迎大家尝试体验新版本,并应用在生产环境中。
103854 1
|
12天前
|
Kubernetes Cloud Native 容灾
OpenKruise v1.6 版本解读:增强多域管理能力
OpenKruise 在 2024.3 发布了最新的 v1.6 版本(ChangeLog),本文对新版本的核心特性做整体介绍。
86571 3
|
15天前
|
物联网 PyTorch 测试技术
手把手教你捏一个自己的Agent
Modelscope AgentFabric是一个基于ModelScope-Agent的交互式智能体应用,用于方便地创建针对各种现实应用量身定制智能体,目前已经在生产级别落地。
|
17天前
|
NoSQL Cloud Native Redis
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
阿里云瑶池数据库团队后续将持续参与Valkey社区,如过往在Redis社区一样耕耘,为开源社区作出持续贡献。
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
|
17天前
|
关系型数据库 分布式数据库 数据库
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
PolarDB分布式版助力《香肠派对》实现百亿好友关系20万QPS的毫秒级查询。
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询