当前位置: 首页 > news >正文

C++服务器框架开发6——日志系统LogFormatter/size_t学习

该专栏记录了在学习一个开发项目的过程中遇到的疑惑和问题。
其教学视频见:[C++高级教程]从零开始开发服务器框架(sylar)

上一篇:C++服务器框架开发5——日志系统LogAppender/IO类“3种stream”/双感叹号

C++服务器框架开发6——日志系统logFormatter/size_t学习

  • 目前进度
  • size_t学习
    • 大致介绍
    • size_t与int

目前进度

学习到第四个视频12分06s,up对log.h中的LogFormatter进行了定义。从上一节内容可以发现,该类用来做格式化然后输出的。
要点:

  1. log.h中的LogFormatter声明,其中声明了1个内部类FormatItem用于日志内容项的格式化、1个format函数用于格式化日志文本、1个init函数用于初始化解析日志模板、2个成员变量m_pattern(日志格式模板)和m_items(日志格式解析后格式)。
    在这里插入图片描述
  2. log.cc中,定义了LogFormatter构造函数、LogFormatter::format函数、LogFormatter::init函数(还未定义完)。在这里插入图片描述

size_t学习

上一节的最后一张图可以看到,有一个变量定义的类型是size_t,由于我没接触过,所以这次学一下。
参考自文章1

大致介绍

无符号整型、在32位系统中为32位在64位系统中为64位。

#ifndef __HELLOWORLD__
#define __HELLOWORLD__
#include<iostream>#endif int main() {size_t sizet1 = -5;std::cout << sizet1 << std::endl; //无符号数,所以赋值一个负数时,打印出来会出错。size_t sizet2 = 5;std::cout << sizet2 << std::endl;return 0;
}

在这里插入图片描述

size_t与int

  1. size_t在32位架构中被定义为:typedef unsigned int size_t;
  2. size_t在64位架构中被定义为:typedef unsigned long size_t;
  3. size_t是无符号的,并且是平台无关的,表示0-MAXINT的范围;int是有符号的;
  4. int在不同架构上都是4字节,size_t在32位和64位架构上分别是4字节和8字节。
  5. 如果定义数组时用的是int,则在64位机子上,数组长度实际上只能开到2的32次,但是如果用size_t来定义数组长度,则可以自适应地得到能开辟的最大长度。
http://www.lryc.cn/news/92001.html

相关文章:

  • MYSQL实战45讲笔记--深入浅出索引
  • SpringCloudAlibaba:分布式事务之Seata学习
  • 【MySQL数据库 | 第四篇】SQL通用语法及分类
  • Liskov替换原则:用了继承,子类就设计对了吗?
  • 腾讯云服务器SA3实例AMD处理器CPU网络带宽性能详解
  • 接口测试常用测试点
  • Unity之OpenXR+XR Interaction Toolkit接入HTC Vive解决手柄无法使用的问题
  • AC变DC220V变5V小家电电源芯片-AH8652、AH8669
  • 深度学习笔记之循环神经网络(九)GRU的反向传播过程
  • ISFP型人格的性格缺陷和心理问题分析
  • HTML <dir> 标签
  • leetcode 621. 任务调度器
  • 线程任务的取消
  • 在线聊天项目
  • 动态规划-硬币排成线
  • 有效的括号——力扣20
  • 【轻量级网络】华为诺亚:VanillaNet
  • 读写ini配置文件(C++)
  • Python对接亚马逊电商平台SP-API的一些概念理解准备
  • [Halcon3D] 主流的3D光学视觉方案及原理
  • Go Web下gin框架使用(二)
  • 算法笔记-线段树合并
  • Fiddler抓取IOS数据包实践教程
  • Ansible基础4——变量、机密、事实
  • React实现Vue的watch监听属性
  • axios、跨域与JSONP、防抖和节流
  • macOS Ventura 13.5beta2 (22G5038d)发布
  • jwt----介绍,原理
  • Three.js--》实现3d水晶小熊模型搭建
  • 《阿里大数据之路》研读笔记(1)