社区
C语言
帖子详情
C++问题!,应该有难度吧!!!
langhaixin
2002-07-16 10:50:08
问题一.一模板函数,当其实例话后,能否确定它的template<class T>中传入的数据是C++内置的型别还是,class类型或者是一个容器。
问题二,一个模板类能否确定其实例化后是处理哪种类型?是C++内置的型别还是,class类型或者是一个容器。
...全文
57
16
打赏
收藏
C++问题!,应该有难度吧!!!
问题一.一模板函数,当其实例话后,能否确定它的template中传入的数据是C++内置的型别还是,class类型或者是一个容器。 问题二,一个模板类能否确定其实例化后是处理哪种类型?是C++内置的型别还是,class类型或者是一个容器。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
finish
2002-07-24
打赏
举报
回复
up
Muf
2002-07-20
打赏
举报
回复
Mesopotamia(爱在西元前) 说的没错,直接用好啦。
我说的不过是原理。
Mesopotamia
2002-07-20
打赏
举报
回复
boost.type_traits里帮你做好啦,不要你累,呜。
Muf
2002-07-20
打赏
举报
回复
To: jinfeng_wang(CSDN,你的速度象蜗牛)
用上面的方法,你可以扩充以达到RTTI的功能,而不需要RTTI了。
(用不用operator()看大家意愿)
附:
这个方法是boost启发的。
Muf
2002-07-20
打赏
举报
回复
还一种是用辅助模板类来完成,如:
template <typename T>
class _isNative
{
static bool operator(){return false;}
};
template <int>
class _isNative
{
static bool operator(){return true;}
};
...
这样,你在程序中可以用
_isNative<int>()来识别了。
Muf
2002-07-20
打赏
举报
回复
一种是用typeid来识别
一种是用模板特化来完成: 例如:专为内置类型设计专用模板
招RD和QA
2002-07-20
打赏
举报
回复
boost::type_traits不是在所有的编译器上都能使用的
招RD和QA
2002-07-20
打赏
举报
回复
boost::type_traits不是在所有的编译器上都能使用的。
Mesopotamia
2002-07-20
打赏
举报
回复
楼上的话好古怪的说。
traits可以处理某个类型,也可以处理某一族类型。
boost.type_traits说明文档这么清楚,sgi stl里也大量使用的东东,也不是什么新玩意了。
langhaixin
2002-07-20
打赏
举报
回复
up!偶看的已经晕了!
myheart8541_cn
2002-07-20
打赏
举报
回复
厉害厉害,我的c++功力太低了!
我得努力了!!!
fatalerror99
2002-07-19
打赏
举报
回复
实例化后当然可以确定,想深入了解可以看《深入探索 C++ 对象模型》,《C++ Primer 中文版》也有所涉及,但不如上一本书深入。
maoliao
2002-07-17
打赏
举报
回复
用rtti机制的typeid操作符返回typeinfo类,所有类型信息都可得到
如:
cout<<typid(object).name<<endl;输出类型名
用dynamic_cast操作符可以得知运行时刻基类指针所指的实际对象的类型
liuns
2002-07-16
打赏
举报
回复
这和c++的编译器有密切的关系,编译器分析你的整个源文件后再决定你的实例化的模版类型。这方面的知识不是几句话就可以解释清楚的,如果你想深入的研究的话,可以看看《THE C++ PROGRAMMING》这本书。
babysloth
2002-07-16
打赏
举报
回复
可以。并且是在编译期进行(因此不用typeid)
处理这类问题的技术称为type_traits,您可以看看这里
http://www.c-view.org/tech/lib/boost/libs/type_traits/index.htm
lemonway
2002-07-16
打赏
举报
回复
built-in type就那么几种,typeid(T) == typeid(int) //char....
结贴…………
DirectX修复工具 V3.3增强 绿色版
除此之外,增强版中还额外包含了
c++
Redistributable Package,因此增强版不但能解决DirectX组件的
问题
,而且还能解决
c++
组件异常产生的
问题
。增强版适合无法自行解决
c++
相关
问题
的用户使用。在线修复版的功能与标准...
DirectX修复工具 V3.3标准 绿色版
除此之外,增强版中还额外包含了
c++
Redistributable Package,因此增强版不但能解决DirectX组件的
问题
,而且还能解决
c++
组件异常产生的
问题
。增强版适合无法自行解决
c++
相关
问题
的用户使用。在线修复版的功能与标准...
V
C++
中国象棋经典游戏源代码
V
C++
源码版的中国象棋游戏,人机对战。在电脑上是不是经常见到这款游戏啊?...超强
难度
的搜索引擎和算法、估值函数以及开局库,还有大量的开局库资料都将为您展现出来。研究V
C++
游戏编程的朋友可绝不要错过哦!
c++
是什么!!!
C++
擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而
C++
就适应的
问题
规模而论,大小由之。[1]
C++
不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质..
C++
入门(1)从C到
C++
!!!
C++
(C plus plus)作为一门系统的编程语言,常年...但由于
C++
的本身的学习
难度
,使非常多的小白望而却步。但
C++
学习真的很难吗?不试试,怎么知道自己不行呢?接下来,跟着我的节奏,慢慢的打开
C++
的神秘大门吧!!!
C语言
70,037
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章