由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - (C / C++) 关于指针的引用,求助
相关主题
面试问了个“master c++”的这个问题,答不出来,直接给枪毙了 (转载)GoF看完了以后感觉面试中OO设计就是扯淡
用Java面试的大牛们请教一段小程序
C++疑问:Animal a,Animal* a,哪种访问方式快大家都在谈做开发的,难道没有做testing 或者 QA的吗?
请问一下关于new和delete的概念My Microsoft Phone Interview
c++ 的 temp variable 是产生在heap 还是 stack 上?问道编程题
DP 的 memorized 放在哪里?在线等两个问题
编程习惯问题怎么才能掌握好C++里面的指针和引用?
问道C的面试题Bloomberg的在线C测试是不是比C++容易些?
相关话题的讨论汇总
话题: p2话题: arr话题: int话题: 引用话题: 局部变量
进入JobHunting版参与讨论
1 (共1页)
l*********a
发帖数: 445
1
看下面代码:
func()
{
std::vector _arr;
int* p = new int(0);
_arr.push_back(p);
p = new int(1);
_arr.push_back(p);
/* 若采用局部变量 p2 表示_arr第二个元素的引用,可以:*/
int*& p2 = _arr[2];
/* 问题:若p2不是局部变量,而是全局变量,也就是在说 p2 在函数体外部已经
声明为 int* p2 了,请问这时如何采用 p2 来表示_arr第二个元素的引用 ??? */
f****a
发帖数: 4708
2
/* 若采用局部变量 p2 表示_arr第二个元素的引用,可以:*/
int*& p2 = (_arr[1]); // not [2]
/* 问题:若p2不是局部变量,而是全局变量,也就是在说 p2 在函数体外部已经
声明为 int* p2 了,请问这时如何采用 p2 来表示_arr第二个元素的引用 ??? */
Can't be a reference. For the value of the 2nd element:
int * p2;
p2 = _arr[1];
l*********a
发帖数: 445
3
1. 谢谢!
2. 您的意思是,如果p2是全局变量,就不能获取 _arr[1] 的引用对吗???
3. 如果 _arr 也是全局变量,这样p2(全局变量)是否可以获取_arr[1]的引用呢?

【在 f****a 的大作中提到】
: /* 若采用局部变量 p2 表示_arr第二个元素的引用,可以:*/
: int*& p2 = (_arr[1]); // not [2]
: /* 问题:若p2不是局部变量,而是全局变量,也就是在说 p2 在函数体外部已经
: 声明为 int* p2 了,请问这时如何采用 p2 来表示_arr第二个元素的引用 ??? */
: Can't be a reference. For the value of the 2nd element:
: int * p2;
: p2 = _arr[1];

y*w
发帖数: 125
4

p2 = _arr.at(1);

【在 l*********a 的大作中提到】
: 看下面代码:
: func()
: {
: std::vector _arr;
: int* p = new int(0);
: _arr.push_back(p);
: p = new int(1);
: _arr.push_back(p);
: /* 若采用局部变量 p2 表示_arr第二个元素的引用,可以:*/
: int*& p2 = _arr[2];

z****e
发帖数: 2024
5
你这完全是一个错误的问题,
引用类型变量必须在声明的时候就定义,引用变量所指向的对象以后就不能改变了,引用变量只能改变他所指向的对象的值。
如果p2是全局的引用类型变量,那么 p2在定义的时候也就有了所指向对象,
以后也就不能再改成指向其他对象了。

【在 l*********a 的大作中提到】
: 看下面代码:
: func()
: {
: std::vector _arr;
: int* p = new int(0);
: _arr.push_back(p);
: p = new int(1);
: _arr.push_back(p);
: /* 若采用局部变量 p2 表示_arr第二个元素的引用,可以:*/
: int*& p2 = _arr[2];

1 (共1页)
进入JobHunting版参与讨论
相关主题
Bloomberg的在线C测试是不是比C++容易些?c++ 的 temp variable 是产生在heap 还是 stack 上?
one C++ question?DP 的 memorized 放在哪里?
一个C++问题编程习惯问题
bloomberg 电面问道C的面试题
面试问了个“master c++”的这个问题,答不出来,直接给枪毙了 (转载)GoF看完了以后感觉面试中OO设计就是扯淡
用Java面试的大牛们请教一段小程序
C++疑问:Animal a,Animal* a,哪种访问方式快大家都在谈做开发的,难道没有做testing 或者 QA的吗?
请问一下关于new和delete的概念My Microsoft Phone Interview
相关话题的讨论汇总
话题: p2话题: arr话题: int话题: 引用话题: 局部变量