社区
C语言
帖子详情
请问bool test(string& testFileName) 和 bool test(string testFileName)有什么区别??
cd7809
2002-11-25 05:23:37
1: bool test(string& testFileName) 和 bool test(string testFileName)有什么
区别?
2: string test() 和 string& test()有什么区别??
谢谢!!
...全文
54
4
打赏
收藏
请问bool test(string& testFileName) 和 bool test(string testFileName)有什么区别??
1: bool test(string& testFileName) 和 bool test(string testFileName)有什么 区别? 2: string test() 和 string& test()有什么区别?? 谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jian
2002-11-25
打赏
举报
回复
加上const可以确保在函数中,该参数不会被改变
这个优点有时候在规模比较大的程序中才能显示出来
skyfine
2002-11-25
打赏
举报
回复
基本的功能是一样的.但从可理解和可看性上来说&要比*更好懂一些.
比如
函数:
1.int swap(int *a,int *b){...};
2.int swap(int &a,int &b){...};
3.int swap(int a,int b){...};
调用:
...
1.swap(&m,&n);//传m,n的地址值
2.swap(m,n); //传m,n的引用.这样更容易理解些.
3.swap(m,n); //经常得到的结果是错误的.
而且由于引用值必须初始化,这样就避免了传送无效值.
cd7809
2002-11-25
打赏
举报
回复
非常感谢 NOldkiller:
那么bool test(string& testFileName) 和bool test(string* testFileName) 是一样的吗? 而且为什么经常用bool test(const string& testFileName)而不是bool test(const string* testFileName)呢??
NOldkiller
2002-11-25
打赏
举报
回复
1.在bool test(string& testFileName)中用到了引用参数,而引用实质上也是一种指针,这时在函数调用时,用的是引用传值方式,这时,不会发生string类的拷贝构造函数的调用,在test函数体中对testFileName的改变实际上就是对实参的改变.而bool test(string testFileName)则是传值调用,这时,会调用string的拷贝构造函数,且在test函数体中对形参所做的任何操作不会影响到实参的改变.
2. string test()
返回时会调用string的拷贝构造函数,这时返回值是一个临时对象,是不可以改变其值的.
而 string& test()则是返回值的左值.
如:
int g_Num = 5;
int& change(int nValue)
{
return nValue;
}
int Nochange(int nValue)
{
return nValue;
}
int main()
{
change(g_Num) = 10; //right
//这时g_Num的值就为10
NoChange(g_Num) = 20; //error
//会发生访问非法错误
return 0;
}
php读取文件
1。php存文件的时候$
test
file
name2居然是非要单引号才行,要不然用双引号会报错,以后用变量的时候应该多用单引号 $
test
file
name2='D:\Program
File
s2\AppServ\www\catch28\admin\
test
method6.html';//文件名,可以为.php或者.txt等文本文件
file
_put_contents($
test
file
...
AI 决策树ID3 代码(c++)
源代码工程文件(vs2005)http://d.download.csdn.net/down/1018461/cctt_1过去在网上找了段代码,发现写的代码要改些地方,而且也想顺便练习下自己的c++编码。首先我要建立一个真正的树形结构。于是使用了自己过去的GeneralTree.h(当然这里还是改动些GeneralTree的代码例如增添了些函数,另外把有些私有函数变成了公有函数)。训练
信息导到Execl上.
项目里有个小的模块.就是把数据库里的信息输出到Execl上.开始因为这部分只会有一二个文件.没有怎么封装.后来文件多了. 看到很多处代码都有打开Execl的这种代码.封装一下(现这部分代码全是测试用的.). 首先是封装打开写入信息到Execl文件的代码. public class Data
File
{ public
string
SavePath { ge...
数字识别
#include
#include
#include <
string
> #include
#include
#include
#include
using namespace cv; using namespace std;
c++文件操作修正版(第三次修正)
c++文件各种操作,包含内容: 文件读写 递归查找 复制 移动 删除 修改名称 带标志位的写入与读取 计时函数 日志函数 文件大小 文件夹是否是空 选择文件夹 弹出文件夹 头文件 operatingtools.h ////////////////////////////////////////////////////////////////////////////// /// These functions are C++ ports. /// At 2020-8-13 14:04:45。 /// Vers
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章