
c++高级
fqbqrr
这个作者很懒,什么都没留下…
展开
-
2411C++,默认参数为调用者指针
2411C++,默认参数为调用者指针原创 2024-11-23 09:57:14 · 273 阅读 · 0 评论 -
C++另类继承组合
C++另类继承组合原创 2023-02-16 22:27:43 · 88 阅读 · 0 评论 -
c++升级元串
c++升级元串原创 2022-10-03 21:51:56 · 207 阅读 · 0 评论 -
c++按序或位分串2
c++按序或位分串2原创 2022-06-28 17:46:03 · 487 阅读 · 0 评论 -
c++按序或按位分串
c++按序或按位分串原创 2022-06-27 23:20:39 · 302 阅读 · 0 评论 -
c++令人崩溃的模板.
// 别名=>干净.template<class T> using Invoke = typename T::type;template<unsigned...> struct seq{ using type = seq; };//必须要有类型.template<class S1, class S2> struct concat;//连接templ...原创 2019-10-23 20:52:48 · 452 阅读 · 0 评论 -
c++参数循环移动
//要把<0,1,...N>变成<m,m+1,...N,0,1,...m-1>//元<整 N,整 M,型名 F,型名 T,整...O>空 前移(F&f,序列<O...>&x,T&t){ f(取<(O+M)%N>(t)...);//(n+m)%n,O为变量}//左右移是一样的,往左移,就是往右移元&...原创 2019-10-23 21:40:56 · 566 阅读 · 0 评论 -
libclang打印成员.
#encoding=gbk import clang.cindex,inspectfrom clang.cindex import ConfigConfig.set_library_file("f:\path\libclang.dll")index = clang.cindex.Index.create()tu = index.parse('c.cpp')def 打印节点(t): ...原创 2019-10-29 11:26:56 · 470 阅读 · 0 评论 -
折腾llvm的win32编译.
LNK1107: 文件无效或损坏: 无法在 0x2C8 处读取.这是由于,在c++中,lib是链接时用,而dll是在编译时用.所以编译时不用dll,而应该用lib文件.原创 2019-10-29 15:58:44 · 1058 阅读 · 0 评论 -
c++使用libclang示例
源码如下:#包含<标io.h>#包含<标极.h>#包含<浮控制.h>#包含<c语言c/索引.h>符*查找串="初化";整 参数个数=0;极 打印种类拼写(CX光标 光标){ 枚 cx光标种类 当前种类=c语言取光标种类(光标); 常 符*当前拼写种类=c语言取c串(c语言取光标种类拼写(当前种类)); 打印格式...原创 2019-10-30 11:02:36 · 1806 阅读 · 0 评论 -
c++非类型模板参数示例
整 按尾(常 整&i){整 j=i%10;中 j;}//非类型参数:有用的,谁说没用.//整型常量(包括枚)或指向外部链接指针(包括函数指针,类成员函数指针,及具有外部链接的字符串常量指针).//类似(外 常 符* 名="abc"),是可以作模板参数的元<型名 T,整(*f)(常 T&)>构 比{//函数名,用作模板参数 极 符号()(常 T&...原创 2019-11-03 21:05:59 · 510 阅读 · 0 评论 -
c++的绑定实现.
元<型名...>构 空器{用 型=空;};元<型名...A>用 是空型=型名 空器<A...>::型;元<型名 T,型名=空>构 是灵针:假型{};元<型名 T>构 是灵针<T,是空型<推导(求值<T>().符号->()),推导(求值<T>().取())>>:真型{};//推导...原创 2019-11-06 17:47:38 · 951 阅读 · 0 评论 -
再看c++现代元编程.
c++元编程是c++的弱项.虽然现代c++要好点了.不过还是要看了.参考及ppt在此原来也看过,不过,不实际操作,总是没感觉.前面文章,写了点.不系统.看看大神的现代元编程.原来,我还在静态检查阶段.有的时候.要限制构的模板参数,就必须用静态断定在构的起点,就断定.同样可以借用<是成员函数指针值<T>>,这个一定会好用的.上篇的绑定,是绑定在一起了.但应该还可以...原创 2019-11-07 13:36:39 · 479 阅读 · 0 评论 -
学习c++的右值引用
文章在此虽然,purecpp.org更新不怎么频繁,但其原来的内容,还是有很多宝贝的.只是有些 排版,实在不是很好.不过,学习为主.上一篇是d的右值引用.这一篇是c++的.1,左值引用:整&i=j;.2,右值引用:整&&j=22;右值引用解决的是:临时对象不必要的复制操作及模板参数按实际类型转发(完美转发).右值引用相关概念:右值,纯右值,将亡值,一般引用(un...原创 2019-11-07 16:39:37 · 415 阅读 · 0 评论 -
c++的静态反射与动态反射
动态反射:元<型名 F>用 值转=函数<空(F*f,常 串&名)>;//每一项转值,成员项,都可转成指针,指与名对应元<型名 T>类 段转基{公: 虚~段转基()=默认; 虚 空 符号()(T*p)常=0;};元<型名 T,型名 F>类 段转:公 段转基<T>{ 公: 段转(常 串&名,F ...原创 2019-11-09 12:48:33 · 3999 阅读 · 0 评论 -
祁宇,祁大神的访问者模式
好代码,共享,大家看.#包含<io流>元<型名 T>构 访问者{虚 空 访问(T*)=0;};构 访问者令牌{虚~访问者令牌()=默认;};构 动物{ 虚 整 移动()=0; 虚 空 接受(访问者令牌*)=0; 虚~动物()=默认;};元<型名 T>构 可访问:公 动物{ 空 接受(访问者令牌*v)盖{ ...原创 2020-01-30 17:33:49 · 1259 阅读 · 1 评论 -
c++函数模板不能作模板参数,太难受了
#include <常用>元<整 N,元<型名 U>类 C>空 套壳(){}元<整 N,元<型名 U>类 C,型名 F,型名...A>空 套壳(){ C<F>();套壳<N+1,C,A...>();}//类型啊//元<型名 T>用 啊啊=类型啊;//没用.元<型名 T>构 ...原创 2020-01-30 22:37:14 · 805 阅读 · 0 评论 -
编译期只序列,可以这样,更简单.
#include <常用>元<整...I>空 打印(){ ((输出<<I<<' '),...);输出<<行尾;}元<型名...A>空 啊(){((类型啊<A>()),...);}构 B{};空 主(){ 打印<3,5,6,43>(); 啊<整,B>();...原创 2020-01-31 12:10:02 · 390 阅读 · 0 评论 -
c++if的初始化变量
#include <iostream>constexpr int d=100;int g(int i){return i * 2;}int main(){ if (auto r=g(0);r!= 0){ std::cout<<r<<std::endl; }else{ r=d;std::cout <<...原创 2020-01-31 16:38:32 · 929 阅读 · 0 评论 -
c++17的部分知识点相关文章,上一篇还有些
无异整数列表初始化枚举内联与嵌套的命名空间借助内联,可以实现版本间的和平切换,即先把新版本内联,这样可直接使用新版本,如果出错,将新版本的内联删掉,就直能用旧版本入扩展(可在编译时使用及本)内联变量(先记录下来再看)省略不必要的拷贝感觉有点糊涂串视即指针+长度字节先放这,慢慢看c++访问有与d的比较变量任何可选聚合类扩展数组引用结构化绑定动[u,v]或动&a...原创 2020-01-31 21:19:02 · 546 阅读 · 0 评论 -
100以内运行期值转编译期值.
主要参考在这里#include <常用>元<整 N>空 呀(){输出<<N<<' ';}元<类 F,整...I>空 切换啊(整 n,F&&f,序列<I...>){ 初列表<整>{ (n==I&&(f(整常<整,I>()),0))... ...原创 2020-02-01 14:09:25 · 2600 阅读 · 0 评论 -
c++编译时映射.
链接在此,可以学习不知道这个可不可以用在编译期缓存里面.原创 2020-02-01 15:31:22 · 491 阅读 · 0 评论 -
c++编译时排序
csdn晚上9点后文章就要审核了,通不过.#include <常用>元<整...N>构 排呀{ 元<整 x>静 常式 整 大(){中((x>N)+...);} //x大于所有数的个数 元<整 x>静 常式 整 数(){中((x==N)+...);} //数为与所有数相同的数 //第i个应该取第i大的...原创 2020-02-01 15:37:42 · 543 阅读 · 2 评论 -
自己写测试件.
以前,总是不用测试,结果程序质量完全无法控制,出错了,也不知道哪个类出错了.看来测试是必不可少的.那么就我们自己写测试套件.#include "编码串.cpp"元<型名 T>构 测基{//自动取名了 极 通过=0;串 名; 测基(){名=中类名<T>();} //这里来改 虚 空 测试(){}//这里用;号,编译不过,不知道为什么//最...原创 2020-02-04 14:42:09 · 439 阅读 · 0 评论 -
学习编译原理的好东西
源码地址在此规则如下:程序 -> 声明 语句序列声明 -> 声明 ; {声明 };声明 -> 特殊类型 变量列表类型限定器 -> 整 | 极 |串变量列表 -> 识别器 {, 识别 }语句序列 -> 语句 { ; 语句 }语句 -> 如语句 | 重复语句 | 赋值语句 |读语句 | 写语句| 当语句当语句 -> 当 极式 干 语句序...原创 2020-04-08 20:20:12 · 348 阅读 · 0 评论 -
c语言语法中文版
翻译单元 : 外部声明 | 翻译单元 外部声明 ;外部声明 : 函数定义 | 声明 ;函数定义 : 特定声明 声明器 声明列表 复合状态 | 声明器 声明列表 复合状态 | 特定声明 声明器 复合状态 | 声明...原创 2020-04-10 16:29:38 · 1187 阅读 · 1 评论 -
解析py中文语法规则经验教训.
单输入: 新行 | 简单语句 | 复合语句 新行文件输入: (新行 | 语句)* 尾标记求值输入: 测试列表 新行* 尾标记修饰器: '@' 打点名 [ '(' [参数列表] ')' ] 新行装饰器: 修饰器+修饰: 装饰器 (定义类 | 函数定义 | 异步函数定义)异步函数定义: 异步 函数定义函数定义: '定义' 名 形参 ['->' 测试] ':' [注释类型] 函数...原创 2020-04-15 10:42:06 · 453 阅读 · 0 评论 -
上篇解析语法规则源码.
#include "小流冲.cpp"#include "去重名.cpp"//标识为不为`规名`的关键字枚 项类型{单符,规名,多符,关键字,是节点,或号,左括,左中,冒号,标识};枚 点类型{一点,可无,加点,乘点};//默认为串点,一个个串起来的,开头都是中文的规名//可无,如后面有+*,再改,一点.只出现一次,默认构 节点;构 项{ 项类型 a;串 b;符 c;节点*d...原创 2020-04-15 18:20:17 · 369 阅读 · 0 评论 -
根据两个元组生成正交乘积的元组类型
元<型名 T,型名 N>动 正交(元组<T>&t,元组<N>&n){ 中 元组<双<T,N>>();}元<型名 T,型名 M,型名...N>动 正交(元组<T>&t,元组<M,N...>&n){ 元组<M>m;动 k=正交(t,m);元组&...原创 2020-04-28 15:02:49 · 457 阅读 · 0 评论 -
c++从元组造的实现.
构 啊{ 串 名,呀;整 i,j; 空 哈(){ 输出<<名<<','<<呀<<','; 输出<<i<<','<<j<<','; }};元<型名 M,型名 T,整...I>M 从元组呀(T&&t,序列<I....原创 2020-04-28 12:49:14 · 501 阅读 · 0 评论 -
c++分组元组
元<整...M,型名...C>动 取子元(序列<M...>,元组<C...>&o){ 中 元组{取<M>(o)...};}//返回元组,取子里面的元<型名...C,型名...T,整...I>动 取子呀(元组<T...>&t,元组<C...>&o,序列<I...>)...原创 2020-04-30 16:30:48 · 794 阅读 · 0 评论 -
c++序列元组基本操作
元<整 N,整...I>动 序加(序列<I...>){ 中(序列<(I+N)...>());}元<整 N,整...I>动 序乘(序列<I...>){ 中(序列<(I*N)...>());}元<整 N,整...I>动 元序加(序列<I...>){ 中 元组{序列<(I...原创 2020-04-30 15:52:52 · 556 阅读 · 0 评论 -
两个元是什么东西,是静态模板初化.
元<型名 键,型名 值,型名 标签>元<型名>极 静映射<键,值,标签>::初化标志=假;//在模板外部初化静态变量.元<型名 键,型名 值,型名 标签>元<型名>对齐为(值)符 静映射<键,值,标签>::存储[的大小(值)];//这里有 对齐为 元<型名 T,大小型...I> 常式 动...原创 2020-04-30 11:47:28 · 320 阅读 · 0 评论 -
高手实现的过滤类型.
元<整 J,整...I>常式 动 连序(序列<I...>){中 序列<J,I...>{};}元<型名 Q,整 I,型名 T,型名...A>常式 动 过呀(){ 如 常式(型长...(A)==0) 如 常式(是相同值<Q,退化型<T>>)中 序列<>{}; 异 中 序列...原创 2020-05-02 22:55:25 · 413 阅读 · 0 评论 -
你也可以写绑定.
#include "果型.cpp"元<型名 T>构 是无引针:是指针<移引用型<T>>{};元<型名 T>构 是无引成函:是成函针<移引用型<T>>{};//要仔细理解这两个模板的意思元<型名 R,型名 F,型名 W,型名...P>内联允许如型<是无引成函<F>::值&&...原创 2020-05-02 13:39:52 · 353 阅读 · 0 评论 -
再次学习简单解析c++
#包含<io流>#包含<c语言c/索引.h>用 名字空间 标;o流&符号<<(o流&s,常 CX串&串){ s<<c语言取c串(串);c语言处置串(串);中 s;}整 主(){ cx索引 索引=c语言创建索引(0,0); CX翻译单元 单元=c语言解析翻译单元( 索引,"h.hpp",空针,0,空针,0,cx无翻译单元 ); 如(单元==空针){//如果没有h.hpp,就退出了 输出&l原创 2020-05-10 10:52:43 · 404 阅读 · 0 评论 -
c++调用动态库
#pragma once#include<windows.h>//#include<w中>,只三个,暂时不加处理类 动调{//应该是一个dll对应一个动调 H模块 针;无序映<串,远过程>库;公: ~动调(){卸载();} 显 动调(常 符*径){串 a=径;初化(a);} 显 动调(串&径){初化(径);} 空 初化(串&径){ 针=加载库(径.c串()); 如(空针==针原创 2020-05-08 18:51:02 · 445 阅读 · 0 评论 -
生成动态库,并利用.
#define 导呀 extern "C" __declspec(dllexport) //DLL输出函数语法导呀 char *aa(){//函数名改成中文就不行了 return "啊啊啊" __DATE__ "\n白银盘里一青螺 - 时间: " __TIME__;}//cl -LD %,生成动态库调用:#include <windows.h>#include ...原创 2020-05-08 16:41:41 · 344 阅读 · 0 评论 -
继承写虚函数,来写骨架
//相当于个函数,少写点代码,不要继承,用 量=向量<串>; //可以简写构 加过滤{ 元<整 I>空 过滤(量&a,量&们){ 向量<量>列;串 t;数分向量<I>(a,列); 对(动&p:列){ 如(!要要(p))下;t=形式(p);压(们,t); ...原创 2020-05-08 10:58:05 · 269 阅读 · 0 评论 -
运行时转编译时应用.多个类型统一调用.获取变量前的类型
元<类 F,整...I>常式 动 切换啊(整 n,F&&f,序列<I...>){ ((n==I&&(f(整常<整,I>()),0)),...); //&&与(..,0)这样就是a&&b, //b为0的表达式,所以必须要有0,这里反正能用就行}元<整 I,类 F>常式 动 切为编(整 n,F&f){ 型名 造序<I>::型 p;中 切换啊(n原创 2020-05-13 15:57:12 · 335 阅读 · 0 评论