网站服务器需要多少钱化妆品网站做的好的

diannao/2025/10/24 20:48:37/文章来源:
网站服务器需要多少钱,化妆品网站做的好的,网站推广和优化教程,末备案网站如何做cdn《C新经典对象模型》之第7章 模板实例化语义学 7.1 模板及其实例化详细分析7.1.1 函数模板7.1.2 类模板的实例化分析7.1.3 多个源文件中使用类模板07.01.cpp 7.2 炫技写法7.2.1 不能被继承的类7.2.2 类外调用私有虚成员函数07.02.cpp 7.1 模板及其实例化详细分析 7.1.1 函数模… 《C新经典对象模型》之第7章 模板实例化语义学 7.1 模板及其实例化详细分析7.1.1 函数模板7.1.2 类模板的实例化分析7.1.3 多个源文件中使用类模板07.01.cpp 7.2 炫技写法7.2.1 不能被继承的类7.2.2 类外调用私有虚成员函数07.02.cpp 7.1 模板及其实例化详细分析 7.1.1 函数模板 template class T T funcadd(const T a, const T b) {T addhe a b;return addhe; }coutfuncadd(12, 14)endl; //dumpbin //nm编译器编译时根据funcadd的调用来确定函数模板中T的类型。 int funcadd(int const , int const ); 7.1.2 类模板的实例化分析 template class T struct ATPL {T m_i, m_j;ATPL(T tmpi 0, T tmpj 0) : m_i(tmpi), m_j(tmpj) {} };类模板中的枚举类型 template class T struct ATPL {enum ECURRSTATUS{E_CS_Busy,E_CS_Free,};T m_i, m_j;ATPL(T tmpi 0, T tmpj 0) : m_i(tmpi), m_j(tmpj) {} };ATPLint::ECURRSTATUS myenum ATPLint::E_CS_Busy;ATPLint::ECURRSTATUS myenum2 ATPLint::E_CS_Free;ATPLdouble::ECURRSTATUS myenum3 ATPLdouble::E_CS_Free;类模板中的静态成员变量 template class T struct ATPL {T m_i, m_j;ATPL(T tmpi 0, T tmpj 0) : m_i(tmpi), m_j(tmpj) {}static int m_sti;static T m_sti2; };template class T int ATPLT::m_sti 10; template class T T ATPLT::m_sti2 10;//必须要和10兼容的类型ATPLint::m_sti 18;cout ATPLint::m_sti endl;ATPLfloat::m_sti 21;cout ATPLfloat::m_sti endl;//ATPLstring::m_sti2;//errorATPLint::m_sti2 132;cout ATPLint::m_sti2 endl;ATPLfloat::m_sti2 1050.5;cout ATPLfloat::m_sti2 endl;类模板的实例化 template class T struct ATPL {T m_i, m_j;ATPL(T tmpi 0, T tmpj 0) : m_i(tmpi), m_j(tmpj) {} };ATPLint *pobj nullptr;//未实例化类const ATPLint yobj 0; // 因为构造函数允许缺省参数这里有隐式类型转换//等价于//ATPLint tmpobj(0);//const ATPLint yobj tmpobj;成员函数的实例化 template class T struct ATPL {T m_i, m_j;ATPL(T tmpi 0, T tmpj 0) : m_i(tmpi), m_j(tmpj) {}void func1() const { cout ATPL::func1() endl; }void func2() const { cout ATPL::func2() endl; } };const ATPLint yobj 0;yobj.func1();//成员函数调用时才会实例化出成员函数7.1.3 多个源文件中使用类模板 mytemplate.h #pragma once #include iostream using namespace std;template class T T funadd(const T a, const T b) {T addhe a b;return addhe; }template class T struct ATPL {enum ECURRSTATUS{E_CS_Busy,E_CS_Free,};T m_i, m_j;ATPL(T tmpi 0, T tmpj 0) : m_i(tmpi), m_j(tmpj) {}static int m_sti;static T m_sti2;void func1() const { cout ATPL::func1() endl; }void func2() const { cout ATPL::func2() endl; } };template class T int ATPLT::m_sti 10;template class T T ATPLT::m_sti2 10;MyProject.cpp #include mytemplate.hvoid myfunc() {ATPLint myobj;//即使没调用myfunc()函数也会实例化ATPLint类myobj.m_sti2 18;cout myobj.m_sti2 endl; }myfunc.cpp #include mytemplate.hint ftest() {ATPLint myobj;//即使没调用myfunc()函数也会实例化ATPLint类myobj.m_sti2 21;cout myobj.m_sti2 endl;return 15; }编译时可能多个.obj文件产生了多个相同的ATPL类但链接时只保留一个ATPL类实体其余忽略掉。 虚函数的实例化 template class T struct ATPL {enum ECURRSTATUS{E_CS_Busy,E_CS_Free,};T m_i, m_j;ATPL(T tmpi 0, T tmpj 0) : m_i(tmpi), m_j(tmpj) {}static int m_sti;static T m_sti2;void func1() const { cout ATPL::func1() endl; }void func2() const { cout ATPL::func2() endl; }virtual void virfunc1() { cout ATPL::virfunc1() endl; }virtual void virfunc2() { cout ATPL::virfunc2() endl; } };template class T int ATPLT::m_sti 10;template class T T ATPLT::m_sti2 10;类模板存在虚函数时会实例化所以虚函数即使未调用。 虚函数产生虚函数表虚函数表需要放置各个虚函数的地址所以实例化出所以虚函数。 显示实例化 //.cpp文件中 template class ATPLdouble;类模板的显示实例化所有内容类、成员函数、虚函数、静态成员变量等都实例化出来无论是否调用。 //.cpp文件中 template void ATPLdouble::func2() const;实例化单独的成员函数类并未实例化。 07.01.cpp #include cstdio #include iostream using namespace std;template class T T funadd(const T a, const T b) {T addhe a b;return addhe; }template class T struct ATPL {enum ECURRSTATUS{E_CS_Busy,E_CS_Free,};T m_i, m_j;ATPL(T tmpi 0, T tmpj 0) : m_i(tmpi), m_j(tmpj) {}static int m_sti;static T m_sti2;void func1() const { cout ATPL::func1() endl; }void func2() const { cout ATPL::func2() endl; }virtual void virfunc1() { cout ATPL::virfunc1() endl; }virtual void virfunc2() { cout ATPL::virfunc2() endl; } };template class T int ATPLT::m_sti 10;template class T T ATPLT::m_sti2 10;void myfunc() {ATPLint myobj;myobj.m_sti2 18;cout myobj.m_sti2 endl; }int main() {cout funadd(12, 14) endl;{ATPLint::ECURRSTATUS myenum ATPLint::E_CS_Busy;ATPLint::ECURRSTATUS myenum2 ATPLint::E_CS_Free;ATPLdouble::ECURRSTATUS myenum3 ATPLdouble::E_CS_Free;}{ATPLint::m_sti 18;cout ATPLint::m_sti endl;ATPLfloat::m_sti 21;cout ATPLfloat::m_sti endl;ATPLint::m_sti2 132;cout ATPLint::m_sti2 endl;ATPLfloat::m_sti2 1050.5;cout ATPLfloat::m_sti2 endl;}ATPLint *pobj nullptr;{const ATPLint yobj 0; // 因为构造函数允许缺省参数这里有隐式类型转换yobj.func1();}cout sizeof(ATPLint) endl;cout Over!\n;return 0; }7.2 炫技写法 7.2.1 不能被继承的类 使用final关键字友元函数虚继承友元破坏封装虚继承消耗大 class A { private:A() {}friend class B; // B可以调用A的私有构造函数 }; class B : virtual public A // 虚继承A { public:int m_b; }; // 虚基类A的构造函数由孙子类C调用 // 但虚基类A的构造函数私有只有友元类B能调用孙子类C无法调用 // 无法创建C类即B类无法被继承 class C : public B { public:int m_c; };{B myobjb;myobjb.m_b 15;// C myobjc;// myobjc.m_c 20;}7.2.2 类外调用私有虚成员函数 class A2 { private:virtual void virfunc(){myfunc();}void myfunc(){cout A::myfunc() endl;} };{A2 aobj;(reinterpret_castvoid (*)()(**(long ***)(aobj)))();//通过虚函数表指针调用虚函数//long*** pvptr (long ***)aobj;//long** vptr *pvptr;//typedef void(*Func)();//Func f (Func)*vptr;//f();}07.02.cpp #include iostream using namespace std;class A { private:A() {}friend class B; // B可以调用A的私有构造函数 }; class B : virtual public A // 虚继承A { public:int m_b; }; // 虚基类A的构造函数由孙子类C调用 // 但虚基类A的构造函数私有只有友元类B能调用孙子类C无法调用 // 无法创建C类即B类无法被继承 class C : public B { public:int m_c; };class A2 { private:virtual void virfunc(){myfunc();}void myfunc(){cout A::myfunc() endl;} };int main() {{B myobjb;myobjb.m_b 15;// C myobjc;// myobjc.m_c 20;}{A2 aobj;(reinterpret_castvoid (*)()(**(long ***)(aobj)))();// 通过虚函数表指针调用虚函数// long*** pvptr (long ***)aobj;// long** vptr *pvptr;// typedef void(*Func)();// Func f (Func)*vptr;// f();}cout Over!\n;return 0; }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91917.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站管理助手 ftp网站开发毕业实训总结

好的架构是进化出来的 ,不是设计出来的; 不同时期和不同环境有着不同的最佳架构; 存在即合理,合适的才是最好的; 转载于:https://www.cnblogs.com/sky-jyq/p/11527254.html

网站网页制作机构网站被k有什么表现

免责声明: 本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测…

百度网站排名规则注册域名是什么意思

参考文章:深入理解JS引擎的执行机制 JavaScript 异步、栈、事件循环、任务队列 我的笔记:ES系列之Promise async 和 await Event Loop 前提 js是单线程的 js的Event Loop是JS的执行机制,深入了解JS的执行,就等于深入了解JS里的event …

淘宝运营跟做网站哪种工资高宜昌做网站的公司

constexpr 是 C 11 标准新添加的关键字,在此之前(C 98/03标准)只有 const 关键字,其在实际使用中经常会表现出两种不同的语义(常量和只读)。 dis_1() 函数中的“const int x”只是想强调 x 是一个只读的变量…

定制app网站wordpress讨论

刷题 1022.从根到叶的二进制数之和题目描述:思路一(dfs深搜万能版)思路二 (栈迭代巧解版)总结 Thanks♪(・ω・)ノ谢谢阅读!!!下一篇文章见&#xff…

温州网站开发云南网站开发软件

Hi &#x1f44b; 当你将鼠标悬停在IDE中的组件上时&#xff0c;显示组件属性所对应的描述&#xff0c;这个功能在开发过程中会很有用。你可以在传递给defineProps函数的TypeScript接口中使用JSDoc来实现这一点&#xff1a; MyComponent.vue <script setup lang"ts&…

源码网站php2024新冠会再次封城吗现在

安装R和Rstuido软件 R语言是用于统计分析&#xff0c;图形表示和报告的编程语言和软件环境&#xff1b;Rstudio是编辑、运行R语言的最为理想的工具之一。 1、官网下载R安装包 下载地址为&#xff1a;https://cran.r-project.org 进入链接&#xff0c;如下图所示&#xff0c…

苏州专业做网站的公司哪家好重庆旅游攻略必去景点推荐

初沉池的主要作用如下:1、去除沉淀物或浮游物&#xff0c;减轻后续处理设施的负荷。使细小的固体凝聚成大粒子&#xff0c;强化固液分离效果。3.它对胶体物质有一定的吸附和去除作用。4、初沉池在一定程度上起调节池塘的作用&#xff0c;对水质发挥一定的均质效应。5.一些废水处…

南宁网站快速优一般门户网站

EFK日志系统搭建 EFK日志系统介绍功能需求搭建elasticsearch集群规划前提部署核对证书及权限 EFK日志系统介绍 Elasticsearch 是一个实时的、分布式的可扩展的搜索引擎&#xff0c;允许进行全文、结构化搜索&#xff0c;它通常用于索引和搜索大量日志数据&#xff0c;也可用于…

城市建设法规考试网站wap网页设计模板

以下是关于易语言的快捷键内容&#xff1a;预览被设计窗口 CtrlEnter运行 F5终止运行 CtrlF5编译 F7菜单编辑器 CtrlE即时帮助 F1在编辑窗口之间跳转。按下 Ctrl 键后不放&#xff0c;然后反复按 Tab 键可以在目前所有的编辑窗口之间跳转&#xff1b;按下 Ctrl 键后同时按下 Ta…

论坛网站制作模板手机网站制作设计

好吧&#xff0c;我认为接口是一种强制对象实现一定数量功能的方法&#xff0c;而不必使用继承。有点像合同。我半明白他们的意思。但是&#xff0c;如果界面中的所有内容都是&#xff1a;public interface animal{void eat(object food);}它没有这样的实现&#xff0c;那么无论…

电子商务网站规划的原则是什么杭州网站改版公司电话

感觉像是对微服务的炒作正在慢慢地落到实处&#xff0c;并且我们的行业开始意识到&#xff0c;仅通过在现有组件之上公开一些HTTP接口就无法轻松创建根据微服务背后的体系结构范式的系统。 我们似乎确实同意必须进行服务优化的基础架构&#xff0c;文化和组织变革&#xff0c;最…

在哪里做卖车网站网站登录注册做验证码的目地

文章目录 设置环境变量设置自启动参考 设置环境变量 cd vim .zshrc输入一下内容 # 配置Conda CONDA_HOME/Users/hanliqiang/miniconda3 PATH$CONDA_HOME/bin:$PATH生效配置 source .zshrc设置自启动 conda init zsh.zshrc 文件中将会出现以下内容 # >>> conda i…

做网站所需技术珠海seo全网营销

微信公众平台已成为目前最热的企业营销推广平台&#xff0c;每天都有大量互联网公司和传统企业进驻&#xff0c;使用公众账号通过移动端和粉丝互动&#xff0c;不仅可以群发文字、图片、视频、语音等信息内容&#xff0c;还可以进行一对一的深入沟通。 现在微信公众平台已经成为…

网站个人备案和企业备案导视设计分析

什么是IoT&#xff1f; IoT&#xff0c;即物联网&#xff08;Internet of Things&#xff09;&#xff0c;是通过信息传感设备和互联网将各种物品连接起来&#xff0c;实现智能化的识别、定位、跟踪、监控和管理的网络系统。 以下是关于IOT的一些详细解释&#xff1a; 基本概…

网站上线确认书网站免费源码下载

书接上两回 柒拾- tushare 模拟策略交易 &#xff08;一&#xff09; 柒拾壹- tushare 模拟策略交易 &#xff08;二&#xff09; 开始 终于我们可以可以来进行模拟了 复杂 的我不会&#xff0c;所以就写个最简单的策略吧&#xff1a; 买入条件 比两年前是上升的比一年前…

中国十大发布信息网站排名自豪地采用wordpress 删除

CommonJS模块是运行时加载,ES6模块是编译时输出接口 是因为CommonJS加载的是一个对象(module.exports属性),该对象只有在脚本运行结束时才会生成.而ES6模块不是对象,它的对外接口只是一种静态定义,在代码静态解析阶段就会生成. CommonJS模块输出的是一个值的复制&#xff0c;E…

大连网站设计策划网站设计师培训中心

引言&#xff1a; 什么是黑盒测试呢&#xff01;&#xff1f; 像我一样的测试小白就会望文生义了&#xff1a;对黑盒子测试 那么黑盒子是什么&#xff01;? 思考5秒后&#xff0c;得出了这样的答案&#xff1a;黑盒子就是黑色的盒子&#xff0c;嘿嘿&#xff01; 正文&#xf…

专注网站建站网站文章页图片不显示图片

此示例显示了如何使用5G NR下行链路载波波形发生器来创建基带分量载波波形。 介绍 此示例显示了如何使用来参数化和生成5G新无线电&#xff08;NR&#xff09;下行链路波形nrWaveformGenerator。可以生成以下通道和信号&#xff1a; PDSCH及其关联的DM-RS和PT-RS PDCCH及其相…