这个例子在Bjarne Stroustrup的C编程语言中是如何工作的?
发布时间:2020-12-16 10:02:23 所属栏目:百科 来源:网络整理
导读:我正在阅读 The C++ Programming Language,4th Edition( Bjarne Stroustrup)约 references. 他有以下代码示例: void f (const vectordouble v){ double d1 = v[1]; v[2] = 7; v.push_back(d1);} 我的问题是:由于v作为const传递,我们如何在函数中的第二和第
我正在阅读
The C++ Programming Language,4th Edition(
Bjarne Stroustrup)约
references.
他有以下代码示例: void f (const vector<double>& v){ double d1 = v[1]; v[2] = 7; v.push_back(d1); } 我的问题是:由于v作为const传递,我们如何在函数中的第二和第三语句中更改v? 我尝试编译代码,它不起作用:
那我在这里错过了什么?我怀疑是Bjarne犯了一个错误:D 谢谢 解决方法
更新版本具有以下内容:
void f(vector<double>& v) { double d1 = v[1]; // copy the value of the double referred to by v.operator[](1) into d1 v[2] = 7; // place 7 in the double referred to by the result of v.operator[](2) v.push_back(d1); // give push_back() a reference to d1 to wor k with } 所以它可能是为下一次打印而修复的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |