| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 856 人关注过本帖
标题:reference& 作用
只看楼主 加入收藏
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
结帖率:79.17%
收藏
 问题点数:0 回复次数:7 
reference& 作用
template <typename Block, typename Allocator>
class dynamic_bitset
{
public:
    typedef Block block_type;
    typedef implementation-defined size_type;
    enum { bits_per_block = CHAR_BIT * sizeof(Block) };

    class reference
    {
    public:
        // An automatically generated copy constructor.
        reference& operator=(bool value);
        reference& operator|=(bool value);
        reference& operator&=(bool value);
        reference& operator^=(bool value);
        reference& operator-=(bool value);
        reference& operator=(const reference& j);
        reference& operator|=(const reference& j);
        reference& operator&=(const reference& j);
        reference& operator^=(const reference& j);
        reference& operator-=(const reference& j);
        bool operator~() const;
        operator bool() const;
        reference& flip();
    };
    typedef bool const_reference;

看到库文件中的bitset 第一中由上述语句,看不懂定义这个class reference有什么作用?
搜索更多相关主题的帖子: bitset 语法 
2008-09-04 08:31
xlh5225
Rank: 2
等 级:论坛游民
威 望:2
帖 子:188
专家分:25
注 册:2007-8-14
收藏
得分:0 
不知道,你在问什么!
2008-09-05 20:39
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
回复 2# xlh5225 的帖子
operator前为什么定义类型为  reference&  
2008-09-05 23:52
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
与内建类型兼容...因为对于int a,b,c;  (a=b)=c或 (a^=b)=(a+c)这样的运算是可以的..

樱花大战,  有爱.
2008-09-05 23:53
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
回复 4# 中学者 的帖子
您的意思是说如果没有  reference&  
则 无法 进行 (a=b)=c或 (a^=b)=(a+c)这样的运算?

补充:

C++数据类型包括:  
  1)内置的基本数据类型,如整型、浮点型、布尔型等,均有一个关键字对应,如int,float,bool  
  2)C++   STL(标准库)引入了一些扩展类型,有时候也归为基本类型,比如字符串类型(string),复数类型(complex),向量(vector)等。  
  3)其他,即用户自定义类型,也叫抽象数据类型(ADT),即用户通过class,struct,enum定义的各种数据类型。
内建类型是指C++所支持的基本类型,而用户自定义类型是程序员或者开发商定义的类型,可能是类、或者是struct、enum

[[it] 本帖最后由 vfdff 于 2008-9-20 20:24 编辑 [/it]]
2008-09-06 00:38
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
yes...当然你直接返回值也可以..但是这样做就没意义了

樱花大战,  有爱.
2008-09-06 00:50
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
没听过,学习了

学习需要安静。。海盗要重新来过。。
2008-09-06 14:46
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
回复 6# 中学者 的帖子
还是没有明白,那为什么如此定义后,就能使这些定义类也具有和内建类型一样的 运算,eg: (a=b)=c
2008-09-20 20:27
快速回复:reference& 作用
数据加载中...
 
   



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

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