鱼C论坛

 找回密码
 立即注册
查看: 4499|回复: 3

c++的一个小问题

[复制链接]
发表于 2012-9-11 20:31:05 | 显示全部楼层 |阅读模式
1鱼币
定义了一个新的容器a:
std::vector <int > a(10);
在《c++primer》书中说:a.back()这个东西返回这个容器最后一个元素的引用,
但是这个容器里面存储的是字面值常量啊!!!怎么能够引用呢??
我试了一下还真能改,
int a1=a.back();
a1=8;
不够我吧整个容器输出来的以后发现原来的在容器中的数并没有改变啊!!!!!求解!!
这尼玛只是拷贝出来吧。。。

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-12 19:02:53 | 显示全部楼层
你写
int& a1=a.back();
之后就可以直接操作数据了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-12 19:04:43 | 显示全部楼层
  1. #include <vector>
  2. #include <iostream>
  3. using namespace std;

  4. int main(){
  5.         vector<int> a(10);
  6.         int &a1 = a.back();
  7.         cout<<a[9]<<endl;
  8.         a1=9;
  9.         cout<<a[9]<<endl;
  10. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-9-12 22:15:40 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-15 02:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表