首页 > 其他分享 >个人码风介绍

个人码风介绍

时间:2022-11-14 20:44:54浏览次数:51  
标签:std const 个人 介绍 码风 using include any define

个人码风介绍

//不向焦虑与抑郁投降,这个世界终会有我们存在的地方。
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cassert>
#include<tuple>
#include<ctime>
#include<random>
#if __cplusplus>=202002L
#include<ranges>
namespace vw=std::views;
#endif
#define siz(x) int((x).size())
#define cauto const auto
#define all(x) std::begin(x),std::end(x)
#define rall(x) std::rbegin(x),std::rend(x)
#define sqrt __builtin_sqrt
#define fi first
#define se second
#define continue(x) {x;continue;}
#define break(x) {x;break;}
using std::cin;using std::cout;
using std::max;using std::min;
using std::tie;using std::ignore;
template<typename any>inline void cmin(any &x,const any &y){if(y<x)x=y;}
template<typename any>inline void cmax(any &x,const any &y){if(x<y)x=y;}
template<typename any,typename...args>inline void cmax(any &x,const any &y,const args &...z){cmax(x,y);cmax(x,z...);}
template<typename any,typename...args>inline void cmin(any &x,const any &y,const args &...z){cmin(x,y);cmin(x,z...);}
using loli=long long;
using uloli=unsigned long long;
using lodb=long double;
using venti=__int128_t;
using pii=std::pair<int,int>;
using tiii=std::tuple<int,int,int>;
using inlsi=const std::initializer_list<int>&;
using bsi=std::basic_string<int>;
using bsc=std::string;
using std::operator""s;
#if __cplusplus>=201703L
using bscv=std::string_view;
using std::operator""sv;
#endif
struct _time{~_time(){std::cerr<<"\n\033[33;40m"<<1.*clock()/CLOCKS_PER_SEC<<"s\033[37;40m";}}_TM;
std::mt19937 rng(std::random_device{}());
constexpr venti operator""_vt(uloli x){return venti(x);}
constexpr bool ying=false,yang=true;
signed main(){
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	std::ios::sync_with_stdio(false);cin.tie(nullptr);
	return 0;
}
  1. 不采用万能头
  2. 采用 #if 去表示高版本有的库
  3. 所有
  4. 为了防止关于 STL size 上的 warning 采用强转
  5. 采用 all(x) fi se#define
  6. using namespace std; 而只 using 一些常用的
  7. 采用模板,不定长传参等
  8. 大量使用 STL,高版本使用 ranges
  9. ying=false yang=true
  10. 尽可能不写空格除了很丑的情况比如 return(a+b) case'1'
  11. 采用 tab,大括号不换行
  12. 尽可能少换行,采用逗号压起来
  13. 采用 vector 存边
  14. 采用 basic_string 代替没有构造函数的 vector
  15. 结构体避免命名
  16. 采用 constexpr 修饰常量
  17. 采用倍增代替二分
  18. 写继承
  19. 使用 cin cout

标签:std,const,个人,介绍,码风,using,include,any,define
From: https://www.cnblogs.com/bxjz/p/code-style.html

相关文章

  • 今日内容 登录注册前端,短信注册接口和redis的介绍和使用
    短信注册接口post请求后端路由:127.0.0.1:8080/api/v1/userinfo/user/register视图类/views.pyclassUserView(ViewSet):@action(methods=['POST'],detail=F......
  • 配置个人网站时遇到的一些麻烦
    解决npminstall安装慢!!!安装慢的原因npminstall默认使用的安装镜像是国外的镜像,......
  • 2022年度国内主流低代码平台介绍
    随着低代码发展越来越迅速,也出现了很多优秀的低代码平台,企业在做技术选型时难免会觉得眼花缭乱,不知该如何选择;现在就跟小编一起来看一下国内那些优秀的低代码平台吧。让......
  • AI音乐创作,让每一个人都成为音乐家
    从录音带、MP3到专业的耳机、音箱,随着音乐消费方式的不断升级,音乐创作的专业“门槛”也在AI技术的加持下逐渐大众化,创作者的创新设计、创作频率也在持续增强,能降低创作门槛......
  • Nginx入门一:介绍
    2002年,在仔细研究了已有的Web服务器之后,当时任职于俄罗斯门户网站Rambler的工程师IgorSysoev开始编写一个新的Web服务器,目标是解决高并发的C10K问题。并于2004年开源版本号......
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:MediaView
    本文简述在如何在Smobiler中使用MediaView。Step1.新建一个SmobilerForm窗体,再拖入MediaView,MediaView.Size设置(300,225),布局如下在设计器中给MediaView.Url赋值或者......
  • 介绍几位数据老兵
    俗话说的好,学如逆水行舟,不进则退。当今大数据行业,各个技术更新速度之快,使得我们不得不去学习。从传统数仓Oracle到大数据离线数仓Hive,再到现在的流批一体、数据湖以及数字化......
  • 容器镜像多架构支持介绍
    容器镜像多架构支持介绍简介出于开发需要,我们经常会需要浏览公共镜像库,以选取合适的基础镜像,在浏览过程中,不经意地会发现部分镜像的一个tag下列出了许多种架构,如下图所示......
  • Response 介绍及应用。
    目录​​1、继承体系​​​​▶体系图​​​​▶ Response响应数据 ​​​​2、Respones请求重定向​​​​▶ 重定向的实现方式​​​​▶ 路径问题​​​​3、Res......
  • [Go 夜读 第 139 期] Go 语言 Excelize 开源基础库介绍
    Excelize是Go语言编写的用于操作电子表格文档的基础库,支持XLAM/XLSM/XLSX/XLTM/XLTX等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件......