C++ 将模板类型限制为数字

2023-11-26

我的意思是,我有一个 C++ 函数,我想将钱存入帐户。这个函数应该能够接受浮点数、双精度数、整数等,因为这些都是有效的输入形式,因为我需要的只是一个要存入的数字。

因此,我宣布:

template <typename type>
void Deposit(type t) {...}

现在我遇到的唯一问题是:理论上,此类的用户可以将字符或字符串传递给此函数,并会产生意想不到的后果。我该如何将类型限制为整数、浮点数、双精度数和短整型?是否可以在函数定义中限制此功能,以便其他人在使用此函数进行编程时得到编译器/链接器错误,而不必使用try{...} catch(...){...}?


你需要什么std::is_算术将模板类型限制为算术类型(整数或浮点)。你可以像这样使用它

template <typename T, typename std::enable_if<std::is_arithmetic<T>::value>::type* = nullptr>
void Deposit(T t) {...}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 将模板类型限制为数字 的相关文章

  • Environment.CurrentDirectory 与 System.IO.Directory.GetCurrentDirectory

    我正在编写一个 Net WinForms 并不断在调试和发布配置之间切换 并且有一些文件我需要任一配置才能访问 我想做的是将文件放在 BIN 文件夹中的公共目录中 这样它看起来像这样 MyProject Bin CommonFiles My
  • 未找到 Boost 库,但编译正常

    我正在尝试在 C 中使用 boost 的文件系统 使用时看起来编译没问题 c c Analyse c o Analyse o g W Wall L usr local lib lboost filesystem lboost system
  • 当事件button.click发生时,如何获取按钮名称/标签?

    我以编程方式制作按钮并将它们添加到堆栈面板中 以便每次用户导航到页面时按钮都会发生变化 我正在尝试做这样的事情 当我单击创建的按钮时 它将获取按钮的标签并转到正确的页面 但是 我无法使用 RoutedEventHandler 访问按钮元素
  • java中如何重新初始化int数组

    class PassingRefByVal static void Change int pArray pArray 0 888 This change affects the original element pArray new int
  • 语音识别编程问题入门

    所以 你们可能都看过 钢铁侠 其中托尼与一个名为贾维斯的人工智能系统进行交互 演示剪辑here http www youtube com watch v Go8zsh1Ev6Y 抱歉 这是广告 我非常熟悉 C C 和 Visual Basi
  • 什么是空终止字符串?

    它与什么不同标准 字符串 http www cplusplus com reference string string 字符串 实际上只是一个数组chars 空终止字符串是指其中包含空字符的字符串 0 标记字符串的结尾 不一定是数组的结尾
  • C++中判断unicode字符是全角还是半角

    我正在编写一个终端 控制台 应用程序 该应用程序应该包装任意 unicode 文本 终端通常使用等宽 固定宽度 字体 因此要换行文本 只需计算字符数并观察单词是否适合一行并采取相应的操作 问题是 Unicode 表中的全角字符在终端中占用了
  • 如何将AVFrame转换为glTexImage2D使用的纹理?

    如您所知 AVFrame 有 2 个属性 pFrame gt data pFrame gt linesize 当我从视频 sdcard test mp4 android平台 读取帧后 并将其转换为RGB AVFrame副 img conve
  • 如何递归取消引用指针(C++03)?

    我正在尝试在 C 中递归地取消引用指针 如果传递一个对象 那就是not一个指针 这包括智能指针 我只想返回对象本身 如果可能的话通过引用返回 我有这个代码 template
  • 从 C# 使用 Odbc 调用 Oracle 包函数

    我在 Oracle 包中定义了一个函数 CREATE OR REPLACE PACKAGE BODY TESTUSER TESTPKG as FUNCTION testfunc n IN NUMBER RETURN NUMBER as be
  • 模板外部链接?谁能解释一下吗?

    模板名称具有链接 3 5 非成员函数模板可以有内部链接 任何其他模板名称应具有外部链接 从具有内部链接的模板生成的实体与在其他翻译单元中生成的所有实体不同 我知道使用关键字的外部链接 extern C EX extern C templat
  • 模板类的模板构造函数的 C++ 显式模板特化

    我有一个像这样的课程 template
  • 模板类中的无效数据类型生成编译时错误?

    我正在使用 C 创建一个字符串类 我希望该类仅接受数据类型 char 和 wchar t 并且我希望编译器在编译时使用 error 捕获任何无效数据类型 我不喜欢使用assert 我怎样才能做到这一点 您可以使用静态断言 促进提供一个 ht
  • Visual Studio 2015:v120 与 v140?

    仅供参考 Win10 x64 我今天开始尝试 Visual Studio 2015 在弄清楚如何运行 C C 部分后 我尝试加载一个大型个人项目 该项目使用非官方的glsdk http glsdk sourceforge net docs
  • 将 Lambda 表达式树与 IEnumerable 结合使用

    我一直在尝试了解有关使用 Lamba 表达式树的更多信息 因此我创建了一个简单的示例 这是代码 如果作为 C 程序粘贴到 LINQPad 中 它可以工作 void Main IEnumerable
  • 代码中的.net Access Forms身份验证“超时”值

    我正在向我的应用程序添加注销过期警报 并希望从我的代码访问我的 web config 表单身份验证 超时 值 我有什么办法可以做到这一点吗 我认为您可以从 FormsAuthentication 静态类方法中读取它 这比直接读取 web c
  • Visual Studio 2015 - Web 项目上缺少共享项目参考选项卡

    我从 MSDN 订阅升级到 Visual Studio 2015 因为我非常兴奋地阅读有关共享项目的信息 当我们想要做的只是重用代码时 不再需要在依赖项中管理 21382 个 nuget 包 所以我构建了一个测试共享项目 其中包含一些代码
  • 了解 Lambda 表达式和委托 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经尝试解决这个问题很长一段时间了 阅读在线博客和文章 但到目前为止还没有成功 什么是代表 什么是 Lambda 表达式 两者的优点
  • 没有“对 *this”功能的右值引用的解决方法

    我有一个围绕可移动对象的代理容器类 并希望代理能够隐式生成对底层对象的右值引用 但仅当代理本身被移动时 我相信我将能够按照提案 n2439 实施此行为 将移动语义扩展到 this http www open std org jtc1 sc2
  • 如何在 sql azure 上运行 aspnet_regsql? [复制]

    这个问题在这里已经有答案了 可能的重复 将 ASP NET 成员资格数据库迁移到 SQL Azure https stackoverflow com questions 10140774 migrating asp net membersh

随机推荐

  • 在 C# 中的父窗体中心显示子窗体

    我创建一个新表单并从父表单调用 如下所示 loginForm new SubLogin loginForm Show 我需要在父窗体的中心显示子窗体 因此 在子表单加载中我执行以下操作 Point p new Point this Pare
  • Nokogiri/Xpath 命名空间查询

    我正试图拉出来dc title使用 xpath 的元素 我可以使用以下代码提取元数据 doc lt
  • 如何测试特定控件是否具有焦点?

    我可以访问 2007 表单 我想测试特定控件 切换按钮 是否具有焦点 就像是 if gotfocus mytoggle then dosomething endif 或者也许像 if me mytoggle setfocus true th
  • 显示 Django 消息框架消息

    我一直在使用Django 消息传递框架在模板中向用户显示消息 我将它们输出到模板中 如下所示 ul for message in messages ul
  • C++ STL 中的正则表达式

    STL 中是否有任何经过测试且无需任何额外编译器选项即可工作的本机库 我尝试使用
  • 如何使用 STL 字符串和流读取/存储 unicode

    我需要修改我的程序以接受 Unicode 它可能来自任何 UTF 8 以及各种 UTF 16 和 UTF 32 编码 我对 Unicode 不太了解 尽管我读过 Joel Spolsky 的article和维基百科页面 现在我正在使用std
  • 如何将 .txt / .csv 文件转换为 ORC 格式

    对于某些要求我想转换文本文件 带分隔符 to ORC 优化行列 格式 由于我必须定期运行它 所以我想写一个java程序这样做 我不想使用 Hive 临时表解决方法 有人可以帮我做吗 以下是我尝试过的 ORCMapper java impor
  • 如何正确使用 print_r 或 var_dump?

    我在调试时经常使用以下代码片段 echo pre var dump var pre 我发现我通常会得到很好的可读输出 但有时我就是不这样做 我现在对这个例子特别恼火
  • 逗号运算符 , 的作用是什么?

    什么是 运算符在C中做什么 表达方式 expression1 expression2 First expression1被评估 那么expression2被评估 并且值expression2返回整个表达式
  • Python 捕获终止后的子进程输出

    我试图在引发 TimeoutExpired 异常时获取子进程输出 在 Windows 上 有任何想法吗 try proc subprocess run cmd timeout 3 except subprocess TimeoutExpir
  • 自定义 Eclipse 包

    我想打包 Eclipse 一些自定义插件 以供内部使用 该包装将包含 平台运行时二进制 win32 和 linux x86 gtk Mylyn 任务列表 Mylyn 聚焦用户界面 Mylyn 的 Mantis 连接器 我怎样才能生成这些定制
  • 如何在给定完整路径的情况下动态导入模块?

    如何在给定完整路径的情况下加载 Python 模块 请注意 该文件可以位于文件系统中用户具有访问权限的任何位置 See also How to import a module given its name as string 让我们MyCl
  • 显示微调器并将其在同一块中删除

    在一个可能需要几秒钟的方法中 我有 UIActivityIndicatorView spinner UIActivityIndicatorView alloc initWithFrame CGRectMake 135 140 50 50 s
  • Rails - 按天和小时分组

    我想创建一个数组 其中包含每天每小时创建的项目数 我正在跟踪人们的感受 所以我的模型被称为TrackMood它只有一个名为mood和时间戳 If I do TrackMood where mood good group hour creat
  • Zend_Framework 装饰器将 Label 和 ViewHelper 包装在 div 内

    我对 zend 装饰混乱很陌生 但我有两个重要的问题我无法解决 问题一后面是一些例子 decorate array array ViewHelper array Description array Errors array class gt
  • 如何通过 Windows 应用商店证书签署我的 Windows 应用商店应用程序?

    我刚刚从 Windows 应用商店购买了开发者帐户 我想在上传之前签署我的应用程序 当我进入包装然后单击 选择证书 按钮时 我会看到以下选项 从证书存储中选择 从文件中选择 创建测试证书 我使用第三个选项测试了所有内容 但第一个选项 从证书
  • 使用 TomEE 嵌入式 EJBContainer api 进行 EJB 测试:java.lang.ClassFormatError 异常

    我将使用 TomEE 嵌入的 EJBContainer 来测试我的 EJB 这是我的 JUnit 测试用例框架 package com xxx indexer scheduler service import java util Prope
  • CMS(joomla、drupal)和框架(Zend、Symfony、CI)之间的区别

    什么样的应用程序是使用 joomla drupal 等 CMS 开发的 什么样的应用程序是使用框架开发的 如果所有类型的应用程序都可以在像 drupal 这样的 CMS 中开发 那么我们为什么要使用像 SYMFONY 这样的框架呢 CMS
  • 可以用css渐变做一条曲线吗?

    我从客户那里得到了这个设计 按钮中有两层渐变 棘手的是 其中一层有弯曲的边缘 我模拟了这个按钮 希望你能明白我在说什么 我设法做的是直边 参见代码片段 色差并不重要 只需要曲线 以前有人这样做过吗 或者它必须是背景图片 谢谢 附 我还考虑过
  • C++ 将模板类型限制为数字

    我的意思是 我有一个 C 函数 我想将钱存入帐户 这个函数应该能够接受浮点数 双精度数 整数等 因为这些都是有效的输入形式 因为我需要的只是一个要存入的数字 因此 我宣布 template