上一页 1 2 3 4 5 6 7 8 9 10 ··· 56 下一页
摘要: 与非模板函数一样,我们在一次调用中传递给函数模板的实参被用来初始化函数的形参。如果一个函数形参的类型使用了模板类型参数,那么它采用特殊的初始化规则。只有很有限的几种类型转换会自动地应用于这些实参。编译器通常不是对实参进行类型转换,而是生成一个新的模板实例。 与往常一样,顶层 const(参见 2.4 阅读全文
posted @ 2024-11-08 14:14 double64 阅读(80) 评论(0) 推荐(0)
摘要: // template.hpp template<typename T> class Dylan { public: Dylan(T t); T m_data; }; // template.cpp #include "template.hpp" template<typename T> Dylan 阅读全文
posted @ 2024-11-08 14:01 double64 阅读(63) 评论(0) 推荐(0)
摘要: 这两天写了个Dll,要导出普通类中的模板函数,稍微查了一下,没查到具体资料。自己根据C++模板的编译原理,推断出应该要源码放在头文件中直接导出,查了下接触的Open Source项目,确实如此。这里记录一下,方便下次查阅。 1、宏定义说明: #ifdef DLL_PROJECT #define TE 阅读全文
posted @ 2024-11-08 13:50 double64 阅读(446) 评论(0) 推荐(0)
摘要: MyDelegate.h #pragma once #include <typeinfo.h> #include <list> #include <vector> namespace Delegate { // IDelegate 提供接口的基类 template<typename ReturnTy 阅读全文
posted @ 2024-11-07 20:08 double64 阅读(34) 评论(0) 推荐(0)
摘要: 当编写模板时,代码不能是针对特定类型的,但模板代码通常对其所使用的类型有一些假设。例如,我们最初的compare 函数中的代码就假定实参类型定义了<运算符。 WARNING 保证传递给模板的实参支持模板所要求的操作,以及这些操作在模板中能正确工作,是调用者的责任。 ▲ 《C++ Primer》 P5 阅读全文
posted @ 2024-11-06 22:20 double64 阅读(21) 评论(0) 推荐(0)
摘要: 第一个阶段是编译模板本身时。在这个阶段,编译器通常不会发现很多错误。编译器可以检查语法错误,例如忘记分号或者变量名拼错等,但也就这么多了。 第二个阶段是编译器遇到模板使用时。在此阶段,编译器仍然没有很多可检查的。对于函数模板调用,编译器通常会检查实参数目是否正确。它还能检查参数类型是否匹配。对于类模 阅读全文
posted @ 2024-11-06 22:14 double64 阅读(62) 评论(0) 推荐(0)
摘要: 项目属性使用预编译 一个预编译.h对应一个预编译.cpp,cpp 中只包含一句 #include "stdafx.h" 右键 'stdafx.cpp' 选 'Yc/创建' 源文件中包含 #include "stdafx.h" 参考: https://www.cnblogs.com/foundwant 阅读全文
posted @ 2024-11-05 22:24 double64 阅读(46) 评论(0) 推荐(0)
摘要: 头文件中声明了方法,在提供者那里方法应该被声明为__declspec(dllexport),在使用者那里,方法应该被声明为__declspec(dllimport)。 Class中含有一个静态变量,生成dll的时候只采用了__declspec(dllexport), 使用的时候__declspec( 阅读全文
posted @ 2024-10-27 15:59 double64 阅读(253) 评论(0) 推荐(0)
摘要: C 语言在编译器就完成静态变量的内存分配和初始化;始化发生在任何代码执行之前,属于编译期初始化。 C++ 全局或静态对象当且仅当对象首次用到时才进行构造,并通过atexit()来管理对象的生命期; 静态变量初始化是线程安全的。 全局变量、文件域的静态变量和类的静态成员变量在main执行之前的静态初始 阅读全文
posted @ 2024-10-27 15:38 double64 阅读(551) 评论(0) 推荐(0)
摘要: exec() QDialog dlg(this); dlg.exec(); setModal() QDialog dlg(this); dlg.setModal(true); //相当于dlg.setWindowModality(Qt::ApplicationModal); dlg.show(); 阅读全文
posted @ 2024-10-19 14:40 double64 阅读(36) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 56 下一页