类模板可以在没有成员的情况下实例化吗?

2024-04-07

The 维基百科文章 http://en.wikipedia.org/wiki/Template_metaprogramming说:

实例化类模板不会导致其成员定义被实例化。

我无法想象 C++ 中的任何类被实例化,无论是否从模板中,类成员也没有被实例化?


许多早期的 C++ 编译器都会实例化所有成员函数,无论您是否调用过它们。

例如,考虑一下,std::list,其中有一个sort成员函数。使用当前运行正常的编译器,您可以实例化list超过不支持比较的类型。如果您尝试使用list::sort,它会失败,因为你不支持比较。只要你不打电话sort对于该列表,一切都很好,因为list<T>::sort除非你调用它,否则不会被实例化。

然而,对于那些旧的、功能不佳的编译器,试图创建list<T>这意味着list<T>::sort即使您从未使用过它,也会被实例化。的存在list::sort意味着你需要实施< for T,只是为了创建一个list<T>,即使你从未真正使用过sort根本就在那种类型的名单上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类模板可以在没有成员的情况下实例化吗? 的相关文章

  • 我应该把 try/catch 和“using”语句放在哪里? [复制]

    这个问题在这里已经有答案了 可能的重复 try catch using 正确的语法 https stackoverflow com questions 4590490 try catch using right syntax 我想try c
  • C free() 是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 malloc 和 free 如何工作 https stackoverflow com questions 1119134 how malloc and free work include
  • 异常堆栈跟踪不显示抛出异常的位置

    通常 当我抛出异常 捕获它并打印出堆栈跟踪时 我会看到抛出异常的调用 导致该异常的调用 导致该异常的调用that 依此类推回到整个程序的根 现在它只向我显示异常所在的调用caught 而不是它所在的地方thrown 我不明白是什么改变导致了
  • 在 ASP.NET MVC 中将模型从视图传递到控制器

    我正在 ASP NET MVC 中开发我的第一个应用程序 但遇到了一个我无法解决的问题 即使在阅读了整个互联网之后也是如此 因此 我有几个使用视图模型创建的视图 它们是报告 这些视图模型是根据用户选择标准填充的 我正在尝试构建一种接受模型并
  • 将下拉列表与字典绑定

    我将字典绑定到下拉列表 举例来说 我的字典中有以下项目 Test1 123 Test2 321 我希望下拉文本采用以下格式 Test1 Count 123 Test2 Count 321 我沿着以下路径走 但没有运气 MyDropDown
  • 带有运算符语法的错误消息,但不带有函数语法的错误消息

    为什么我在调用 unary 时收到错误消息 使用运算符语法 如果我用函数语法调用它就可以了 现场演示 https godbolt org z j7AbeQ template
  • 在 C# 中何时使用 ArrayList 而不是 array[]?

    我经常使用一个ArrayList而不是 正常 array 当我使用时 我感觉好像我在作弊 或懒惰 ArrayList 什么时候可以使用ArrayList在数组上 数组是强类型的 并且可以很好地用作参数 如果您知道集合的长度并且它是固定的 则
  • 时间:2019-03-17 标签:c++fstream并发访问

    如果从不同的进程 线程同时访问文件会发生什么 据我所知 没有锁定文件的标准方法 只有操作系统特定的功能 就我而言 文件将被经常读取而很少写入 现在如果A打开一个文件进行读取 ifstream 并开始读取块 和B打开相同的文件进行写入 ofs
  • 无法为 wsdl 文件创建服务引用

    I have wsdl文件和xsd我本地机器上的文件 我想在项目中添加服务引用 我没有网络服务 我只有wsdl file 我收到以下错误 The document was understood but it could not be pro
  • 将错误代码映射到 C++ 中的字符串

    将错误代码从枚举映射到字符串的更有效方法是什么 在 C 中 例如 现在我正在做这样的事情 std string ErrorCodeToString enum errorCode switch errorCode case ERROR ONE
  • ALTER TABLE ... ADD CONSTRAINT 失败时将事务回滚到保存点

    有没有办法在事务中添加检查约束and如果失败回滚到以前的保存点 而不是回滚整个事务 就我而言 当 ALTER TABLE ADD CONSTRAINT 命令失败时 事务无法回滚到保存点 尝试这样做会引发 InvalidOperationEx
  • 为什么 f(i = -1, i = -1) 是未定义的行为?

    我正在读关于违反评估顺序 http en cppreference com w cpp language eval order 他们举了一个令我困惑的例子 1 如果标量对象上的副作用相对于同一标量对象上的另一个副作用是无序的 则行为未定义
  • C 中使用 getrandom 实现随机浮点数

    我试图生成一个介于 0 和 1 之间的随机浮点数 无论是在 0 1 还是 0 1 对我来说都不重要 网上关于此的每个问题似乎都涉及rand 呼叫 播种time NULL 但我希望能够每秒多次调用我的程序 并每次都获得不同的随机数 这引导我找
  • Autoconf 问题:“错误:C 编译器无法创建可执行文件”

    我正在尝试使用 GNU 自动工具构建一个用 C 编写的程序 但显然我设置错误 因为当configure运行 它吐出 configure error C compiler cannot create executables 如果我看进去con
  • C 语言中的 Alpha 混合 2 RGBA 颜色[重复]

    这个问题在这里已经有答案了 可能的重复 如何快速进行阿尔法混合 https stackoverflow com questions 1102692 how to do alpha blend fast 对 2 个 RGBA 整数 颜色进行
  • Linq.Select() 中的嵌套表达式方法调用

    I use Select i gt new T 每次手动点击数据库后将我的实体对象转换为 DTO 对象 以下是一些示例实体和 DTOS 用户实体 public partial class User public int Id get set
  • 如何将 int 作为“void *”传递给线程启动函数?

    我最初有一个用于斐波那契变量数组的全局变量 但发现这是不允许的 我需要进行基本的多线程处理并处理竞争条件 但我无法在 pthread 创建中将 int 作为 void 参数提供 我尝试过使用常量指针 但没有成功 由于某些奇怪的原因 void
  • “必须声明标量变量”错误[重复]

    这个问题在这里已经有答案了 必须声明标量变量 Id SqlConnection con new SqlConnection connectionstring con Open SqlCommand cmd new SqlCommand cm
  • printf或iostream如何指定点后的最大位数

    字符串采用什么格式printf or iomanip我应该使用 iostream 中的运算符以以下格式打印浮点数 125 0 gt 125 125 1 gt 125 1 125 12312 gt 125 12 1 12345 gt 1 12
  • 为什么表达式 a = a + b - ( b = a ) 在 C++ 中给出序列点警告?

    以下是测试代码 int main int a 3 int b 4 a a b b a cout lt lt a lt lt a lt lt lt lt b lt lt b lt lt n return 0 编译此命令会出现以下警告 gt g

随机推荐

  • 使用 itextsharp 使用数据库中的图像创建 pdf

    我有一个过程 其中 html 与图像链接存储在数据库中 图像也存储在数据库中 我创建了一个从数据库读取图像的控制器操作 我生成的路径是这样的 File Image path Root test jpg 该图像路径嵌入在 html 的 img
  • 使用自定义配置在调试模式下运行 sbt 项目

    我想使用特殊配置在我的 sbt 0 11 项目中引入调试模式 我尝试使用以下代码来实现这一点 但不幸的是 它似乎没有按预期工作 我正在启动debug run但运行并未按预期暂停 object Test extends Build lazy
  • 如何在 Windows 10 上解锁詹金斯

    我使用下载的 msi 在我的 Windows 10 机器上安装了 jenkins 它安装得很好 现在启动了浏览器 提示我使用初始管理员密码解锁詹金斯 我在任何地方都找不到这个文件 我查看了安装目录 C Program Files x86 J
  • 在 ControllerAdvice 之前捕获反序列化异常

    这是一个问题 我有一个采用输入模型的控制器 可以说 public class AppUserUpdateData NotNull Size min 1 max 50 protected String login JsonDeserializ
  • 处理 String.getBytes("UTF-8") 中的 UnsupportedEncodingException 的推荐方法

    建议的处理方式是什么不支持的编码异常 http docs oracle com javase 6 docs api java io UnsupportedEncodingException html在库方法中调用 String getByt
  • 如何更改 Paginator 的页面名称?

    Current Paginator正在使用 page N 但我想用别的东西 我怎样才能改变成这样 sida N反而 我看过Illuminate Pagination Environment并且有一个方法 setPageName 在那里改变它
  • 从浏览器调用 Android 应用程序

    我一直在尝试从浏览器调用我的应用程序安卓 3 1 蜂窝 这些是我尝试过的链接 但没有一个有效 a href click me 1 a a href click me 2 a a href click me 3 a 对于第一个和第二
  • 鼠标悬停/悬停效果在 IE8 上缓慢

    我注意到在 IE8 中 当在包含许多行 本例中为 100 行 的表上使用鼠标悬停事件时 性能会出现奇怪的情况 我尝试了很多不同的方法 但我似乎找不到任何方法来按照我喜欢 需要的速度获得它 如果我在每个事件上切换类 则所有 IE 版本的性能都
  • 为什么 JavaScript 在普通浏览器中没有自己的线程?

    JavaScript 不是多线程还不够 显然 JavaScript 甚至没有自己的线程 而是与大量其他东西共享一个线程 即使在大多数现代浏览器中 JavaScript 通常也与绘画 更新样式和处理用户操作处于同一队列中 这是为什么 根据我的
  • 使用 Joda Time 进行 Grails 控制器单元测试

    当我有一个带有 Joda LocalDateTime 字段的域对象时 一些生成所有创建的控制器测试失败 grails create app bugdemo cd bugdemo grails create domain class Item
  • 立即返回弹簧网通量

    我正在尝试创建应该返回 201 响应的框架 当向 API 发出请求时 我想立即发回响应并在后台处理该请求 Flux fromIterable request getApiRequests log flatMap item gt WebCli
  • 正确的 Javascript 继承

    我想知道是否可以在javascript中继承构造函数 在下面的例子中 我想要Moveable分派x and y论点this x and this y分别如我所定义Sprite 另外 在不创建祖先实例的情况下定义原型的最佳方法是什么 但仍然简
  • Django 无法加载静态文件

    对 django 来说是全新的 在我的 settings py 文件中 我有 STATIC URL static INSTALLED APPS django contrib admin django contrib auth django
  • 如何将我的 Sqlite 数据库移植到 GAE?

    我的本地硬盘中有一个 SQLite 格式的数据库 我希望将数据库升级到 GAE 以便我可以使用它来创建某些很酷的网络应用程序 我已经四处浏览寻找一种方法来做到这一点 然而 大多数可用的项目都是将GAE中的数据库备份到我的本地硬盘 是否有现有
  • 将 Clojure 函数作为 java.util.Function 传递

    正如在主题中一样 我想使用一个以 Function 作为参数的 Java 方法 并为其提供一个Clojure函数 无论是匿名函数还是常规函数 任何人都知道如何做到这一点 java util function Function是一个接口 您需
  • 如何向 jfreechart 创建的图表添加缩放功能

    我使用 jfree 绘制了 XY 图表 现在我想为其添加缩放功能 这必须使用图表底部的滑块来完成 如何添加 Windows 照片查看器中提供的缩放功能 另外 当用户将鼠标悬停在绘制的线上时 我想将图表的当前 Y 值显示为工具提示 我没有得到
  • redirect_uri 不属于应用程序

    类似的问题和答案都没有解决我的问题 我有两个 Facebook 应用程序 一个是另一个的测试版本 因此它们几乎相同 我测试时没有任何问题 但在实时应用程序上 我收到 redirect uri 不属于应用程序 错误 这个申请就是一个很好的例子
  • 矢量化和尴尬并行之间有什么关系?

    这个问题说明了一切 在我看来 矢量化与令人尴尬的并行问题密切相关 换句话说 所有可矢量化的程序都必须是极其并行的程序 它是否正确 对令人尴尬的并行性的快速总结 一个代码是尴尬地平行如果代码可以毫不费力地并行化 特别是处理数据依赖性 请注意
  • 如何将焦点设置到 NSButton?

    I m writing a small menubar application for OS X Yosemite When clicking on the menubar icon a popover appears with a num
  • 类模板可以在没有成员的情况下实例化吗?

    The 维基百科文章 http en wikipedia org wiki Template metaprogramming说 实例化类模板不会导致其成员定义被实例化 我无法想象 C 中的任何类被实例化 无论是否从模板中 类成员也没有被实例