当前位置: 首页> 教育> 培训 > 网站开发工作_移动应用开发介绍_营销网络是什么意思_网络公关

网站开发工作_移动应用开发介绍_营销网络是什么意思_网络公关

时间:2025/7/12 6:07:52来源:https://blog.csdn.net/fqbqrr/article/details/144807496 浏览次数:0次
网站开发工作_移动应用开发介绍_营销网络是什么意思_网络公关

原文

注册器实现

示例代码

#pragma once
#include <type_traits>
#include <iostream>
template<typename _Type>
struct odr{inline static auto use = []{ //[1]std::cout << __PRETTY_FUNCTION__ << std::endl;//在这里利用宏,注册(类名,T)return 0;}();
};
template<typename _Type> //[2]
using crtp = decltype([]{odr<_Type>::use;}, odr<_Type>{});

原理

强制编译器在前执行__PRETTY_FUNCTION__符号输出,需要构造一组被动求值链.

1,要求得crtp<_Type>的类型,需求得推导类型中的式类型.
2,该式类型依赖λ[2]的类型,这是因为可重载,
3,静态成员变量useodr use,依赖λ[1]的执行结果
因此crtp<_Type>推导类型的结果依赖实例化λ[1].

使用注册器

#include "register.h"
struct foo final : crtp<foo>{};
struct bar final : crtp<bar>{};
关键字:网站开发工作_移动应用开发介绍_营销网络是什么意思_网络公关

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: