学习AA大神c++设计新思维笔记:02工具
工具
局部类没啥用,静断,偏特化
,都很普通了.
整2型
可用于,分发,这样不同情况,用不同函数,因为是不同类型,所以用不同函数.如整2型<是多态>
.现在可用如 常式
来代替.多方法
,双分派
.型2型
与整2型
一样,用于函数分发.分开.
选择<真/假,T,U>
,真则为T,假为U.可以选择<是多态,T*,T>
.编译期判断可转换
,可继承
.现在可在类型特征
里面,都有.如果某个类有接口
,则不用动转.
型长(式)
可直接返回大小,不用运行时
,可感知重载,实例化,转换规则
.型长
可推导表达式类型,很强大.c++11等可以(推导(...))
,类型无所谓,关键是大小
不一样.型长不会求值
.
元<类 T,类 U>类 转换{
用 小=符;
类 大{符 无[2];};
静 小 测试(U);//接收U,传回小,
静 大 测试(...);//函数最后的,最差了.任何其他对象
静 T 造();//如果调用了接受U的函数,则可转换,
公:
枚{存在=型长(测试(造()))==型长(小)};
//不同返回类型,用型长来区别.直接用T(),可能构造为私.
枚{双向存在=存在&&转换<U,T>::存在};
枚{相同=假};//偏特化中{相同=1};
};
显式构造
函数不能用来转换.使用:转换<双精,整>::存在
.借助他们判定是继承/是的基
.
类型信息
包装typeid
.还有空型
.都有了.有语法,无语义处.
特征
,可根据编译期作判断
传值,可根据情况优化.如按引用
/按值
.当时无法判定是枚举
.退化型.还有按位拷贝
.
类型<列表>
编译期,无可变的东西.与lisp很像.都是不变的
部分模板偏特化
,要小心.有的元<...>构 构名<...>
,照样每个模板参数都有,要注意人家的定义方式.
型2型
远看没用.就像那个I!...
,主要是直接用T
会构造T对象
,而用型2型
就是个空型
.减小开销.
类型信息
.无效类型
与空类型
类 无效类型;
构 空类型{};
类型特征,c++最新
里面都有了.
可以优化传参方式,如小颗粒用值,大按引用
.去cv,c++现在叫退化型<>
,POD
结构,都可以按位复制
,即使是递归的POD
,可以根据POD
,使用按位复制
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现