社区
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()有什么区别??
谢谢!!
...全文
47
4
打赏
收藏
请问bool test(string& testFileName) 和 bool test(string testFileName)有什么区别??
1: bool test(string& testFileName) 和 bool test(string testFileName)有什么 区别? 2: string test() 和 string& test()有什么区别?? 谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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;
}
MT5 常用函数集成库编写教学不定期持续更新
MT5常用函数集成库编写(不定期持续更新)1.主要面向有一定基础的学员;2.想编写EA苦于不知道如何下手的学员!3.能看懂代码的学员!4.不啰嗦直接上干货!5.固定框架式编程!6.面向对象,面向函数式编程! //---//--- 交易.追踪止损(Symbol(),追踪点值,magic号码); 指标.句柄至数组(zh,中,0,10);
bool
在中枢之上=iLow(Symbol(),应用周期,1)>中[0]&&iLow(Symbol(),应用周期,2)>中[0]&&iLow(Symbol(),应用周期,3)>中[0];
bool
在中枢之下=iHigh(Symbol(),应用周期,1)
bool
三连阳=交易.三连阴阳判断(Symbol(),应用周期,1,2);
bool
三连阴=交易.三连阴阳判断(Symbol(),应用周期,1,1);
bool
二连阳=交易.二连阴阳判断(Symbol(),应用周期,1,2);
bool
二连阴=交易.二连阴阳判断(Symbol(),应用周期,1,1); int 多持仓单数=交易.持仓单数统计(Symbol(),magic号码,POSITION_TYPE_BUY); int 空持仓单数=交易.持仓单数统计(Symbol(),magic号码,POSITION_TYPE_SELL); double 收0=iClose(Symbol(),应用周期,0); double 收1=iClose(Symbol(),应用周期,1); double 收2=iClose(Symbol(),应用周期,2);
php读取文件
1。php存文件的时候$
test
file
name2居然是非要单引号才行,要不然用双引号会报错,以后用变量的时候应该多用单引号 $
test
file
name2='D:\Program
File
s2\AppServ\...
file
_put_contents($
test
file
...
AI 决策树ID3 代码(c++)
bool
CheckIsHas(
string
& name) { for(int i = 0; i (); i++) { if(strcmp(name.c_str(),detailAttrib[i].c_str()) ==0) { // the same attribute return true; } } return ...
信息导到Execl上.
项目里有个小的模块.就是把数据库里的信息输出到Execl上.开始因为这部分只会有一二个文件.没有怎么封装.后来文件多了. 看到很多处代码都有打开Execl的这种代码.封装一下(现这部分代码全是测试用的.). 首先是封装...
数字识别
#include #include #include <
string
> #include #include #include #include using namespace cv; using namespace std;
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章