Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何识别模板中的基本类型?

如何识别模板中的基本类型?

提问于 2018-01-29 15:53:05
回答 2关注 0查看 218

正在寻找一种方法来识别模板类定义中的类型:

代码语言:txt
AI代码解释
复制
template<class T>
class A{
void doWork(){
   if(T isPrimitiveType())
     doSomething();
   else
     doSomethingElse(); 
}
private:
T *t; 
};

回答 2

猪猪3516347

发布于 2018-01-30 01:30:08

Boost TypeTraits或许可以帮到你

Maybe

发布于 2018-01-30 00:39:02

使用is_fundamental来自标准库的模板:

代码语言:txt
AI代码解释
复制
#include <type_traits>

template<class T>
void test() {
    if (std::is_fundamental<T>::value) {
        // ...
    } else {
        // ...
    }
}
代码语言:txt
AI代码解释
复制
// Generic: Not primitive
template<class T>
bool isPrimitiveType() {
    return false;
}

// Now, you have to create specializations for **all** primitive types

template<>
bool isPrimitiveType<int>() {
    return true;
}

// TODO: bool, double, char, ....

// Usage:
template<class T>
void test() {
    if (isPrimitiveType<T>()) {
        std::cout << "Primitive" << std::endl;
    } else {
        std::cout << "Not primitive" << std::endl;
    }
 }

或者使用structs:

代码语言:txt
AI代码解释
复制
template<class T>
struct IsPrimitiveType {
    enum { VALUE = 0 };
};

template<>
struct IsPrimitiveType<int> {
    enum { VALUE = 1 };
};

// ...

template<class T>
void test() {
    if (IsPrimitiveType<T>::VALUE) {
        // ...
    } else {
        // ...
    }
}
和开发者交流更多问题细节吧,去 写回答
相关文章
Java中基本类型的转换
我们经常在编程时会出现int或者其他类型转成String,String转化成int,下面我总结一下常用的几种转换方式:
用户5166556
2019/04/16
7820
Vue的基本模板
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/161518.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/15
2810
什么是 TypeScript 4.1 中的模板字面类型?
写了这么多年 TypeScript,最大的感触就是它非常易于理解——特别是对于具有 Java 背景的人。 但是,在听说了 TypeScript 4.1(该语言最近的重大更新)的新闻之后,我还是为新鲜的特性感到惊奇。
一只图雀
2021/01/05
4.1K0
什么是 TypeScript 4.1 中的模板字面类型?
模板的基本使用
一、概述 模板是HTML页面,可以根据传递的数据进行填充 二、模板存放目录 在工程下创建templates模板目录进行模板文件的存放 三、将templates标记为模板文件夹 如果使用的pycharm进行工程的创建 则templates已经选好为Jinja2模板引擎 如果为手动创建工程 则需手动选择模板引擎 选择templates->Mark Directory as -> Template Folder 选择Template language -> Jinja2 -> ok 四、定义模板 inde
星哥玩云
2022/09/14
7170
模板的基本使用
Javascript中的基本数据类型
Undefined 在var或者let中声明了变量但没有赋值时,这个变量的值就是undefined. 使用typeof关键字检测未声明变量的类型为undefined. Null null表示一个空对象指针,所以用typeof检测null时,会返回object undefine派生自null, null == undefined 为true, null === undefined为false Boolean true false 区分大小写 空字符串、0和NaN、null、undefined转换为boolea
宅蓝三木
2018/02/07
6760
js中的基本类型知多少???
答案:NaN undefinedhello 解析:JavaScript引擎内部在处理对某个基本类型 a进行形如a.pro的操作时,会在内部临时创建一个对应的包装类型(对数字类型来说就是Number类型)的临时对象,并把对基本类型的操作代理到对这个临时对象身上,使得对基本类型的属性访问看起来像对象一样。但是在操作完成后,临时对象就销毁了,下次再访问时,会重新建立临时对象,当然就会返回undefined了
李才哥
2019/07/17
6650
js中的基本类型知多少???
Python小姿势 - # 如何在Python中实现基本的数据类型
Python是一门面向对象的编程语言,基本的数据类型包括整数、浮点数、字符串、布尔值、列表、元组、字典等。
不吃西红柿
2023/05/02
1.1K0
模板基本使用
一、概述 模板是HTML页面,可以根据传递的数据进行填充 二、模板存放目录 在应用目录下创建名为templates目录来存放模板 在工程目录下创建名为templates目录来存放模板 三、将templates标记为模板文件夹 四、配置模板目录 目的 让工程知道哪个目录是存放模板的 配置 settings.py文件中的TEMPLATES字段 TEMPLATES = [ { <span class="hljs-string">'BACKEND'</span>: <span c
星哥玩云
2022/09/14
5810
模板基本使用
Bootstrap 基本模板
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title></title> <link href="https://cdn.jsdeliv
Leophen
2019/08/23
5090
Java 中的基本数据类型详解
今天我们正式开始每日一题系列,最先开始的专题是 Java SE 专题,很多人可能觉得不以为然,Java 有什么好准备的,人家不都是一言不合就框架运用、底层原理吗?
周三不加班
2019/08/12
6790
Python中的基本数据类型的区别
set集合主要用于测试数据和数据的交、并、差等此类型的和去重操作 set集合本质区别和dict字典相同
步履不停凡
2019/09/11
4520
java中,方法参数是基本类型和引用类型的区别
当参数是基本类型时,在调用方法时将值传递到方法中,运行方法,运行结束方法退出,对原本main中定义的变量没有任何操作(方法中没有return)。即:此时只跟栈有关系,方法执行完之后(方法中没有return),会弹栈。
黑泽君
2018/11/07
1.7K0
非类型模板参数/模板的特化/模板的分离编译
通常情况下,使用模板可以实现一些与类型无关的代码,但对于一些特殊类型(比如int*这种)的可能会得到一些错误的结果,需要特殊处理,比如下面的代码:
二肥是只大懒蓝猫
2023/03/30
1.4K0
非类型模板参数/模板的特化/模板的分离编译
django模板中做一些基本运算
{{value|add:-10}} value=5,则返回-5,这个比较好理解,减法就是加一个负数
菲宇
2019/08/14
1.9K0
java中基本类型boolean在jvm中的具体实现
在前面在java中boolean类型占多少字节?一文中,对java的基本数据类型,boolean进行过一些简单的分析。在该文中得出,java的boolean类型,实际上存储的时候是4Byte,boolean的操作与int无异。但是在boolean数组中,则每个boolean的长度为1Byte。最近在极客时间学习深入拆解Java虚拟机专栏的时候,也看到类似的问题,现在按照极客时间学习的思路,对boolean的使用进行验证。
冬天里的懒猫
2020/11/24
1.3K0
如何在TypeScript中使用基本类型
英文 | https://www.digitalocean.com/community/tutorials/how-to-use-basic-types-in-typescript
前端老道
2022/03/29
4K0
如何使用Python中Django模板?
https://www.mattlayman.com/understand-django/templates-user-interfaces/
程序员小猿
2021/01/19
4.4K0
如何使用Python中Django模板?
JavaScript中基本数据类型和引用数据类型的区别
  当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值。
江一铭
2022/06/17
6480
JavaScript中基本数据类型和引用数据类型的区别
【说站】javascript基本类型如何赋值
1、当从一个变量到另一个变量赋值的基本类型时,将在该变量上创建一个新值,然后将该值复制到为新变量分配的位置。
很酷的站长
2022/11/23
4640
点击加载更多

相似问题

如何识别模板中的基本类型?

2380

人脸识别能否显示扫描者的基本信息?

1156

文字识别车牌识别中多个车牌如何识别?

1134

文字识别车牌识别中多个车牌如何识别?

1171
相关问答用户
某公司 | 程序员擅长1个领域
新浪微博 | 高级总监擅长4个领域
擅长5个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档