函数参数中const 引用 和 传值
来源:互联网 发布:安徽网络电视台客户端 编辑:程序博客网 时间:2024/04/30 18:42
#include <iostream>
using namespace std;
class Object
{
public:
Object(int i = 1) { n = i; cout << "Object::Object()" << endl; }
Object(const Object& a)
{
n = a.n;
cout << "Object::Object(const Object&)" << endl;
}
~Object() { cout << "Object::~Object()" << endl; }
void inc() { ++n; }
int val() const { return n; }
private:
int n;
};
void foo(Object a)
{
cout << "enter foo, before inc(): inner a = " << a.val() << endl;
//a.inc();
cout << "enter foo, after inc(): inner a = " << a.val() << endl;
}
int main()
{
Object a;
cout << "before call foo : outer a = " << a.val() << endl;
foo(a);
cout << "after call foo : outer a = " << a.val() << endl;
return 0;
}
可以进行测试便得知,传引用只需要调用构造函数一次,而传值需要2次。
using namespace std;
class Object
{
public:
Object(int i = 1) { n = i; cout << "Object::Object()" << endl; }
Object(const Object& a)
{
n = a.n;
cout << "Object::Object(const Object&)" << endl;
}
~Object() { cout << "Object::~Object()" << endl; }
void inc() { ++n; }
int val() const { return n; }
private:
int n;
};
void foo(Object a)
{
cout << "enter foo, before inc(): inner a = " << a.val() << endl;
//a.inc();
cout << "enter foo, after inc(): inner a = " << a.val() << endl;
}
int main()
{
Object a;
cout << "before call foo : outer a = " << a.val() << endl;
foo(a);
cout << "after call foo : outer a = " << a.val() << endl;
return 0;
}
可以进行测试便得知,传引用只需要调用构造函数一次,而传值需要2次。
- 函数参数中const 引用 和 传值
- const类型参数的对象引用和const成员函数
- C++函数传参:引用和const参数
- 函数传递const和非const非引用参数的笔记 - 20150905
- 稻草人的程序之路--函数参数中非引用,引用和const限定符的使用.
- C++ const类型引用做函数参数
- C++中 引用 和 const
- 函数参数中使用const
- 总结1->sizeof-默认值参数的函数-static-指针和引用概念-const-CAS
- 关于函数返回引用和const对象
- const引用参数
- const引用参数
- JavaScript中函数参数的值传递和引用传递
- Perl函数参数中传递数组和引用的使用
- Perl函数参数中传递数组和引用的使用
- 【Python基本知识】 Python中,函数参数的引用和复制
- JavaScript中函数参数的值传递和引用传递
- JavaScript中函数参数的值传递和引用传递
- SQL :datetime和interval数据类型的使用, 备查
- 测试
- 远程唤醒相关技术解决方法
- csdn真好
- C# Socket多线程编程实例
- 函数参数中const 引用 和 传值
- CSDN初学者
- 正则表达式之深入浅出
- ue c++ 设置
- 读《臧圩人的Java面试题解惑系列》
- 快捷方式中快捷键的使用
- 久违的感动与震撼
- HashMap和TreeMap
- 字符串比较问题(java)