美文网首页
C++中 string作为参数的传递(string类型的引用 )

C++中 string作为参数的传递(string类型的引用 )

作者: ebayboy | 来源:发表于2019-09-30 09:26 被阅读0次

string的引用类型可以减少内存拷贝

/* string refer

在传递参数的时候,如果参数是string类型,可以用string类型的引用,减少内存的拷贝。

*/

#include <iostream>

#include <cstring>

using namespace std;

void func(const std::string& str){

cout << "str = " << str << endl;

cout << "address of \"str\" : " << &str << endl;

}

void funcB(const std::string str){

cout << "str = " << str << endl;

cout << "address of \"str\" : " << &str << endl;

}

int main(int agrc, char** argv){

string strInMain= "test";

func(strInMain);

funcB(strInMain);

cout << "strInMain = " << strInMain << endl;

cout << "address of \"strInMain\" : " << &strInMain << endl;

return 0;

}

func没有拷贝变量,而是直接将main中的strInMain的地址传入,所以在func中的参数str的地址和main中strInMain的地址相同。

funcB参数对strInMain进行拷贝,所以参数str的地址为新的内存空间

相关文章

  • C++中 string作为参数的传递(string类型的引用 )

    string的引用类型可以减少内存拷贝 /* string refer 在传递参数的时候,如果参数是string类...

  • Java 参数传递问题

    Java参数传递 给出了基本类型和引用类型参数传递时行为的示例,并给出了String类型作为参数传递时表现出的和一...

  • Java传参

    Java中传递参数,要么传递的是基本数据类型的值的副本,要么传递的是引用数据类型的引用(String类型属于引用数...

  • Day12-Java

    值传递和引用传递 值传递是值的拷贝, 引用传递是引用的拷贝 String 类型是引用类型, new String ...

  • JAVA是按值传递还是按引用传递

    java中对象作为参数传递给一个方法,到底是值传递,还是引用传递? String和int参数传递是按值传递还是引用...

  • NO.42 StringBuffer与String作为参数传递问

    A:形式参数问题 String作为参数传递 StringBuffer作为参数传递 基本数据类型,不改变其值...

  • String是值传递还是引用传递

    String是值传递还是引用传递 今天上班时,同事发现了一个比较有意思的问题。他把一个String类型的参数传入方...

  • String的一些特殊性

    String是值传递还是引用传递 今天上班时,同事发现了一个比较有意思的问题。他把一个String类型的参数传入方...

  • C++零星知识

    const string& 在参数中使用const string&表示参数为字符串的常引用,传递的是地址,对形参操...

  • 客户端到服务器字符乱码问题

    //处理乱码问题 String json=“客户端传递过来的json类型的String参数”;//例如:如下图所示...

网友评论

      本文标题:C++中 string作为参数的传递(string类型的引用 )

      本文链接:https://www.haomeiwen.com/subject/djxdyctx.html