虽然已临近CSP复赛,但我还在不务正业
更改缺省源
最近几天莫名其妙的的想改一下我的缺省源。
之前和现在的缺省源比较:
之前:
#include<stdio.h>
#include<string.h>
//#include<bits/stdc++.h>
//#include<iostream>
//using namespace std;
//using std::cin;
#define itn int
#define ll long long
//#define int ll
int max(int x,int y){return x>y?x:y;}
int min(int x,int y){return x<y?x:y;}const int MAX_add=10;
const int MAX_N=1000;
const int MAX_M=1000;
const int N=MAX_N+MAX_add;
const int M=MAX_M+MAX_add;
现在... :
#include<stdio.h>
#include<ctype.h>
//#include<bits/stdc++.h>//不耐烦了
//#include<iostream>
//using namespace std;#ifdef _GLIBCXX_IOSTREAM
#define endl '\n'
using std::cin;
using std::cout;
#define Fast_IO ios::sync_with_stdio(0),cin.tie(0)
#endifnamespace OI{//好长的缺省源 #define ct const
#define ctr constexpr
#define itn int //防手残
#define un unsigned
typedef long long ll;
typedef unsigned long long ull;
typedef const int CI;
#define rt register
#define _rep(i,st,n) for(rt int i=(st);i<(n);++i)
#define rep(i,st,n) for(rt int i=(st);i<=(n);++i)
#define _dwh(i,st,n) for(rt int i=(st);i>(n);--i)
#define dwh(i,st,n) for(rt int i=(st);i>=(n);--i)
#define dw(n) while(n--)const int L=1<<15;
char buf[L],*p1,*p2;
int my_getchar(){return (p1==p2?(p2=buf+fread(p1=buf,1,L,stdin),p1==p2?EOF:*p1++):*p1++);}
#define getchar my_getcharint read()
{int x=0;bool f=0;char ch=getchar();while(!isdigit(ch)){if(ch=='-') f=!f;ch=getchar();}while(isdigit(ch)) x=x*10+(ch&15),ch=getchar();if(f) return -x;return x;
}//#define int llint max(int x,int y){return x>y?x:y;}
int min(int x,int y){return x<y?x:y;}
int bmax(int &x,int y){return x=max(x,y);}
int bmin(int &x,int y){return x=min(x,y);}template<class T,class U>
struct __is_same{static const int value=false;};
template<class T>
struct __is_same<T,T>{static const int value=true;};
#define is_same(T,U) (OI::__is_same<T,U>::value)// C++ 11
template<class T>
T go_sum(T x){return x;}
template<class T,class ...Args>
T go_sum(T x,Args... args){return x+go_sum(args...);}CI \MAX_add=10,MAX_N=1e7,MAX_M=2e5,N=MAX_N+MAX_add,M=MAX_M+MAX_add;};
注:此次发癫2024.10.14左右至2024.10.16
《存储变量类型的类》
rt,又是一次莫名其妙,想造的
然后,不出意外的,出了意外。
附最后的代码:
//已省略缺省源
template<class T=int>
struct VAR{int use;VAR(){use=0;}template<class U>bool operator ==(VAR<U> y){return is_same(T,U);}template<class U>bool operator !=(VAR<U> y){return!is_same(T,U);}
};
const VAR<int> _INT;
const VAR<long> _LONG;
const VAR<short> _SHORT;
const VAR<double> _DOUBLE;template<class T=int/*,class U=int*/>
struct _VAR{void *p;_VAR(){p=new VAR<T>;((VAR<T>*)p)->use=1;}template <class _T>_VAR operator =(_VAR<_T> a){p=a.p;((VAR<_T>*)p)->use++;return *this;}template <class _T>bool operator ==(_VAR<_T> a){return (*(VAR<>*)a.p)==(*(VAR<>*)p);}~_VAR(){((VAR<>*)p)->use--;if(((VAR<>*)p)->use==0) delete (VAR<>*)p;}
};
//#define _VAR<int> a,c;
_VAR<double> b;
int main()
{a=b;if(a==c) printf("TRUE");else printf("FALSE");return 0;
}
这个东东给我到此为止!!!
当然你有改进建议的话,就更好了