zoukankan      html  css  js  c++  java
  • C++ string 作为形参与引用传递(转)

    记录一下自己将string作为参数传递的结果。
    (自己感觉与int等基本类型无异。)

    1. string 以引用形式传递

    #include <iostream>
    #include<string>

    using namespace std;
    void change_string(string& s)
    {
    char c = s[0];
    for(int i=1; i<s.length(); i++)
    {
    s[i-1]=s[i];
    }
    s[s.length()-1]=c;
    }
    int main()
    {
    string str;
    cin >> str;
    cout << str << endl;
    change_string(str);
    cout << str <<endl;
    return 0;
    }

    输入:
    ABCD
    输出:
    ABCD
    BCDA
    说明在调用函数中的修改同样改变了主函数中变量str的值。

    2.string 以形参方式传递

    将chang_string 中的参数类型由string& 改为 string,代码如下:

    void change_string(string s)
    {
    char c = s[0];
    for(int i=1; i<s.length(); i++)
    {
    s[i-1]=s[i];
    }
    s[s.length()-1]=c;
    }


    输入:
    ABCD
    输出:
    ABCD
    ABCD

    总体来看,c++ string类的参数传递好像与int等基本类型的参数传递一样,同时也没什么不正常之处。但是网上遍地都是:不要使用string作为参数传递。对此很是困惑,还望哪位大佬解释一下。
    原文链接:https://blog.csdn.net/yhsyde/article/details/108701592

  • 相关阅读:
    学习python第六天
    学习python第五天
    学习python第四天
    学习python第二天
    网工学Python——模块和包
    网工学Python——初识函数
    网工学Python——常用模块
    网工学Python——基础知识
    网工学Python——目录
    Python-面向对象
  • 原文地址:https://www.cnblogs.com/xihong2014/p/15355328.html
Copyright © 2011-2022 走看看