IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 对C++标准库的类型命名的统一化与规范化——“TypeName.hpp“ -> 正文阅读

[C++知识库]对C++标准库的类型命名的统一化与规范化——“TypeName.hpp“

标准库类型命名的统一化与规范化——“TypeName.hpp”

更新日志

2022年3月29日

  1. 制定了本库的命名规范;
  2. 基本完成了本库的代码;

命名规范

  1. 命名空间采用缩写的小写字母;
  2. 类型名模仿C标准库采用“下划线”命名格式;
  3. 变量名(包括参数名)模仿C++标准库采用“下划线”命名格式;
  4. 模仿C与C++标准库,常量、宏及其参数完全采用大写字母,单词间用下划线“_”连接;
  5. 在标识符可能重复的时候,采用“匈牙利命名法”;

注意事项

仅当把本库在所有需要重命名类型名称的标准库之后引入时才能发挥作用!

例如

#include <cstdio>
#include <vector>
#include "TypeName.hpp" // Valid
#include "TypeName.hpp" // Invalid
#include <queue>
#include <map>

源代码

/* 
 * Note:
 *     Please include this lib after including all the standard libs that
 * you want to rename the types in them, or it won't make a difference.
 */
#ifndef TYPENAME_HPP
#define TYPENAME_HPP

#include <cstdint>

using std::size_t;
#define TYPEDEF_INT(CNT_BITS) \
    using std::int##CNT_BITS##_t;
#define TYPEDEF_UINT(CNT_BITS) \
    using std::uint##CNT_BITS##_t;
TYPEDEF_INT(8)
TYPEDEF_INT(16)
TYPEDEF_INT(32)
TYPEDEF_INT(64)
TYPEDEF_UINT(8)
TYPEDEF_UINT(16)
TYPEDEF_UINT(32)
TYPEDEF_UINT(64)

using c_string_t = char *;
using c_string_reference_t = char *const;
using const_c_string_t = const char *const;
using const_c_string_reference_t = const char *const;

#define string_t std::string

#define initializer_list_t std::initializer_list
#define array_t std::array
#define dynamic_array_t std::vector
#define deque_t std::deque
#define forward_list_t std::forward_list
#define list_t std::list
#define pair_t std::pair
#define set_t std::set
#define map_t std::map
#define multiset_t std::multiset
#define multimap_t std::multimap
#define unordered_set_t std::unordered_set
#define unordered_map_t std::unordered_map
#define unordered_multiset_t std::unordered_multiset
#define unordered_multimap_t std::unordered_multimap
#define stack_t std::stack
#define queue_t std::queue
#define heap_t std::priority_queue

#define file_t std::FILE
#define ofstream_t std::ofstream
#define ifstream_t std::ifstream
#define fstream_t std::fstream
#define ostream_t std::ostream
#define istream_t std::istream
#define iostream_t std::iostream

#endif
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-31 23:45:54  更:2022-03-31 23:48:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:50:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码