刘加加在成长(C++语言学习中)

学习、工作、生活,这是三个问题。

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  38 随笔 :: 0 文章 :: 24 评论 :: 0 Trackbacks
      一个函数只能有一个返回值,但如果我想让他返回更多的信息怎么办呢?这种情况可以使用引用形参。
      因为引用形参在函数调用后是可以修改实参值的,所以就相当与函数的返回值。

      下面的代码演示了一个带有一个返回值,并通过引用形参向主调函数返回信息的函数。这个函数的功能是找出在容器中某一个数值出现的次数,并返回该数值第一次出现的迭代器。


//liujiajia
//2008-7-14
#include<iostream>
#include
<vector>
using namespace std;
vector
<int>::const_iterator find_val(vector<int>::const_iterator,vector<int>::const_iterator,int,vector<int>::size_type &);
int main(void)
{
    vector
<int> some;
    
int val;
    
//使用push_back()输入容器中的值 
    while(cin>>val)
    {
        some.push_back(val);
    }
    
//存储值出现的次数 
    vector<int>::size_type ccurs;
    
//调用函数 
    vector<int>::const_iterator it=find_val(some.begin(),some.end(),8,ccurs);
    
    cout
<<ccurs<<endl;
    
    getchar();
}

vector
<int>::const_iterator find_val(
    vector
<int>::const_iterator beg,
    vector
<int>::const_iterator end,
    
int value,
    vector
<int>::size_type &occurs)
{
    vector
<int>::const_iterator res_iter=end;
    occurs
=0;
    
for(;beg!=end;++beg)
    {
        
if(*beg==value)
        {
            
//这个if语句的作用是让res_iter等于值第一次出现的位置 
            if(res_iter==end)
            {
                res_iter
=beg;
            }
            occurs
++;
        }
    }
    
return res_iter;
}


      
posted on 2008-07-14 12:12 刘加加 阅读(983) 评论(4)  编辑 收藏 引用 所属分类: 学习C++语言

评论

# re: 使用引用形参返回额外的信息[未登录] 2008-07-14 14:30 foxtail
返回很多值 可以返会一个对象  回复  更多评论
  

# re: 使用引用形参返回额外的信息 2008-07-14 20:35 刘加加
@foxtail
楼上老兄说的是,呵呵。  回复  更多评论
  

# re: 使用引用形参返回额外的信息 2015-08-04 13:00 一个新手
是不是代码有问题?  回复  更多评论
  

# re: 使用引用形参返回额外的信息 2015-08-06 09:49 刘加加
@一个新手
应该是没问题吧,都是编译通过的。代码时间很长了,可能跟编译器版本有关系。  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理