| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1565 人关注过本帖
标题:类模板的定义
只看楼主 加入收藏
反脑控2016
Rank: 4
等 级:业余侠客
威 望:2
帖 子:108
专家分:212
注 册:2016-9-2
结帖率:100%
收藏
 问题点数:0 回复次数:4 
类模板的定义
template<class T>
struct node
{
    T  a;
    struct node*p;
    struct node<T>*r;
};
我想问:
p与r的定义完全一样吗?
2016-09-02 17:46
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
你可以用typeid在运行时比较
还可以用p=r在编译时看它报不报错
2016-09-02 22:48
反脑控2016
Rank: 4
等 级:业余侠客
威 望:2
帖 子:108
专家分:212
注 册:2016-9-2
收藏
得分:0 
感谢版主的提醒,通过下面的例子,得出是等效的:
#include<iostream>
using namespace std;
template <class T>
struct node
{
    int data;
    node*p;
    node<T>*r;
};
 void main()
{
    node<int> one;
    cout<<typeid(one.p).name()<<endl;
    cout<<typeid(one.r).name()<<endl;
    node<double>two;
    cout<<typeid(two.p).name()<<endl;
    cout<<typeid(two.r).name()<<endl;
}

我学编程,总爱用自己的语言将所学的东西描述下来,渐渐的,一篇篇的文章,看起来像一个个杰作。
2016-09-03 03:37
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
回复 3楼 反脑控2016
不能比较名字
因为标准对名字没有任何规定,甚至所有类型叫同一个名字都是符合标准的
2016-09-03 10:53
反脑控2016
Rank: 4
等 级:业余侠客
威 望:2
帖 子:108
专家分:212
注 册:2016-9-2
收藏
得分:0 
多谢。我看不懂原版的MSDN,只能看看帖子,编编小程序测试测试而已,不知道标准。看样子我是遇见了大才,以后请多多赐教。

我学编程,总爱用自己的语言将所学的东西描述下来,渐渐的,一篇篇的文章,看起来像一个个杰作。
2016-09-03 11:27
快速回复:类模板的定义
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017546 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved