C++引用

落花浮王杯 提交于 2020-02-13 10:48:57

C++引用其实就是给变量起个别名,定义引用时必须要初始化为变量,不能初始化为常量。

定义引用变量

int  i = 100;
int& ref1 = i;//引用必须初始化,不可以先定义在复制==赋值
cout << ref1;//输出就是i的值
//直接修改引用变量的值就可以修改原来变量的值,修改原来变量的值,引用变量的值也会被修改。
ref1 = 2000;
//引用时必须类型对应
double db1 = 99.9;
int ref2  = db1;//错误的,两个类型不一致

//不可以将非常量引用初始化为常量
int ref3 = 100;//错误的,初始化时不可以初始化为常量
const int ref4 = 100;//这个是正确的,使用const的引用可以初始化为常量。


引用变量做参数

这里将一些信息写入到文件中,使用<sstream>库,可以将字符串和变量连接。

//将用户信息存入指定文件名(动态的)的文件中
void storguserinfo(const string& username, const unsigned long& account, const string& phonenumber){

    stringstream ss;//字符串拼接变量,ss.str()返回拼接后的字符串
    string tempfile = "G:\\SpeedOffical-wh\\CCode\\Bank\\Data\\";
    ss << tempfile << username << "_" << account << ".txt";
    tempfile = ss.str();
    //tempfile += ".txt" + "_" + username;
    ofstream fout(tempfile, ios::out);
    if (!fout){
        cout << "打开文件失败" <<endl;
        exit(1);
    }
    fout << "姓名" << "\t" << "账号" << "\t\t" << "手机号" << endl;
    fout << username << "\t" << account << "\t" << phonenumber << endl;
    fout.close();
}

使用引用做参数时,直接将变量传入即可。

storguserinfo(username, account, phonenumber);//将信息写入到文件中

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!