社区
C++ 语言
帖子详情
关于模板中的常量表达式的问题!请指教!
PasserbyX
2005-10-31 02:42:59
形如temple <int len, int beg_pos>
class NumericSeries的声明有什么作用?是不是类似于于在NumericSeries类中声明了两个Private Member?我在《Essential C++》第五第六章中经常看到这样的例子,但还是不大明白,请大家指教!
...全文
304
14
打赏
收藏
关于模板中的常量表达式的问题!请指教!
形如temple class NumericSeries的声明有什么作用?是不是类似于于在NumericSeries类中声明了两个Private Member?我在《Essential C++》第五第六章中经常看到这样的例子,但还是不大明白,请大家指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ywchen2000
2005-11-06
打赏
举报
回复
temple <int len, int beg_pos>
len,beg_pos用来传值,这样可以不要用new来分配空间了,还有其他很多用法看c++ primer说的很清楚
template<typename T,int len>
class xxx{
public:
yang(void)
{
for(int i=0;i<len;i++)
str[i]=0;
}
void print(void);
private:
T str[len];
}
oyljerry
2005-11-05
打赏
举报
回复
模板用来替换类型的
JohnTitor
2005-11-05
打赏
举报
回复
这个参数跟Public Private Protect无关。也不是类的成员。它只在你实例化该模板的时候起作用,用于区别同一模板的不同类的。如:
NumericSeries<3,4> 和NumericSeries<4,5>是两个完全不同的类。
PasserbyX
2005-11-05
打赏
举报
回复
谢谢大家。但如楼上所说,这个参数在类中是Public Private Protect?它与在类中直接声明一个常量有什么区别?主要作用是什么?能否说得详细点,谢了。
codearts
2005-11-01
打赏
举报
回复
同意 ww51xh(月亮被水淹了) 的说法
K
2005-11-01
打赏
举报
回复
可以当成常量
lujun-cc
2005-11-01
打赏
举报
回复
支持一下!
why25
2005-11-01
打赏
举报
回复
那这个参数在类中是什么类型存的?
public ?
private ?
protect ?
feitian124
2005-11-01
打赏
举报
回复
ding
fiftymetre
2005-11-01
打赏
举报
回复
参数在模板或泛型的定义中起占位符(placeholder)的作用。用户通过提供绑定到参数的实际值
来建立对象实例。参数化类型的实例化并非简单的文本替代(宏扩展机制就是使用文本替代的)。相反地,它把实际的用户值绑定到定义中的相关的形式参数上。
在泛型中,每个参数都表现为Object类型或衍生自Object的类型。在本文后面你可以看到,这约束了你可能执行的操作类型或通过类型参数声明的对象。你可以通过提供更加明确的约束来调整这些约束关系。这些明确的约束引用那些衍生出实际类型参数的基类或接口集合。
模板除了支持类型参数之外,还支持表达式和模板参数。此外,模板还支持默认的参数值。这些都是按照位置而不是名称来分解的。在两种机制之下,类型参数都是与类或类型名称关键字一起引入的。
wzjall
2005-10-31
打赏
举报
回复
template<int a,class x>
class CTempl
{public:
x y;
void Display(){cout <<a<<y<< endl;}
};
void main()
{
CTempl<1,int> tem;
tem.Display(); //输出10
CTempl<1,int> te;
te.Display(); //输出100
}
fancyboyxh
2005-10-31
打赏
举报
回复
同意 ww51xh(月亮被水淹了) 的说法
ww51xh
2005-10-31
打赏
举报
回复
其实模板用得更多的形式是
template<class Type>
class CTemplateObject
{
Type m_tpElement;
};
其中Type表示的是一个类型,可以用任何的数据类型替代
像楼主给出的就相当于在类内部定义了一个常量,只不过这个常量由类名声明的时候给赋以值
template<int nValue>
class CTempl
{
void Display(){cout<< nValue << endl;}
};
在调用的时候,可以这样
CTempl<10> temp1;
tmepl.Display(); //输出10
CTempl<100> temp1;
tmepl.Display(); //输出100
Beover1984
2005-10-31
打赏
举报
回复
不明白楼主的问题???????????????????????
Vue初级使用
想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象。...root容器里的代码被称为【Vue
模板
】。Vue实例和容器是一一对应的。真实开发
中
只有一个Vue实例,并且会配合着组件一起使用。...不足之处,
请
多
指教
!!!
《 Kotlin极简教程 》正式预售: 欢迎阅读,大家多多
指教
!!! "Kotlin Minimalist Tutorial" official pre-sale: Welcome to read,...
《 Kotlin极简教程 》正式预售: 欢迎阅读,
请
大家多多
指教
!!! "Kotlin Minimalist Tutorial" official pre-sale: Welcome to read, please advise!!! 《Kotlin极简教程》正式上架: 点击这里 > 去京东商城.....
《 Kotlin极简教程 》正式预售: 欢迎阅读,
请
大家多多
指教
!!!
《 Kotlin极简教程 》正式预售: 欢迎阅读,
请
大家多多
指教
!!! "Kotlin Minimalist Tutorial" official pre-sale: Welcome to read, please advise!!! 原创 2017-09-08 东海陈光剑 Kotlin极简教程...
discuz资料
插件制作的基本思路是:(初学者适用)1.形成插件思路2.制作插件界面3.构架程序模块4.搭建存储数据5.填充功能语句6.检查应用错误7....
中
部分技术点,本贴紧属个人观点,不足之处,
请
各位多多
指教
,...
Java_语法规范
请
多多
指教
! Java是一门面向对象的编程语言,Java程序可认为是一系列对象的集合,这些对象通过彼此调用的方法协同工作 。下面简要介绍类,对象,方法,实例变量的概念。 类:是一个
模板
,描述一个类对象的行为...
C++ 语言
65,210
社区成员
250,518
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章