reference相关内容

我们可以重新分配C ++中的引用吗?

为了测试我的理解,我写了一篇文章以下小程序。看来好像我已经成功地重新分配了一个引用。有人可以向我解释我的程序中实际发生了什么吗? #include #include #include using namespace std; int main() { int i = 5,j = 9; int& ..
发布时间:2016-10-11 22:39:08 C/C++开发

C ++引用如何看,内存方面?

给定: int i = 42; int j = 43; int k = 44; 通过查看变量地址,我们知道每个变量占用4个字节(在大多数平台上)。 但是,考虑到: int i = 42; int& j = i; int k = 44; 我们将看到变量 i 4字节,但 j 采用无和 k 再次在堆栈4个字节。 ..
发布时间:2016-10-11 22:29:32 C/C++开发

指向引用的指针和指针的引用之间的差异

指向引用的指针,指向指针的指针和指向C ++中的指针的指针之间有什么区别? 在哪里应该优先于另一个? / p> 解决方案 首先,对指针的引用就像是对任何其他变量的引用: void fun(int *& ref_to_ptr) { ref_to_ptr = 0; //将“传递”指针设置为0 //如果指针未通过ref传递, //那么只有您接收的副本(参数)设置为0, ..
发布时间:2016-10-11 22:28:50 C/C++开发

返回临时对象并绑定到const引用

可能重复: 我的编译器没有抱怨将临时赋值给const引用: string foo (){ return string(“123”); }; int main(){ const string& val = foo(); printf(“%s\\\ ”,val.c_str()); return 0; } 为什么?我认为从 foo 返回的字符串是临 ..
发布时间:2016-10-11 21:59:45 C/C++开发

C ++:null引用

这段代码是否有效(以及定义的行为)? int& nullReference = * ; g ++和clang ++编译时没有任何警告,即使使用 -Wall , -Wextra , -std = c ++ 98 , -pedantic , -Weffc ++ ... 实际上是null,因为它不能被访问(它将意味着解引用一个空指针),但是我们可以通过检查它的地址 ..
发布时间:2016-10-11 21:58:05 C/C++开发

C ++标准:取消引用NULL指针以获取引用?

我想知道C ++标准关于这样的代码说: int * ptr = NULL; int& ref = * ptr; int * ptr2 =& ref; 在实践中,结果是 ptr2 NULL但是我想知道,这只是一个实现细节或者是在标准中很好的定义? 在不同的情况下,解除引用一个NULL指针应该导致崩溃,但在这里我解除引用它以获得由编译器作为指针实现的引用,所以真 ..
发布时间:2016-10-11 21:38:11 C/C++开发

为什么引用在C ++中不可重用

C ++引用有两个属性: 它们总是指向同一个对象。 它们不能为0。 指针是相反的: $ b p>为什么在C ++中没有“非可空,可重复的引用或指针”?我不能想到引用不可重复的好理由。 编辑: 这个问题经常出现因为我通常使用引用,当我想确保一个“关联”(我在这里避免单词“引用”或“指针”)从不无效。 我不认为我曾经认为“伟大的,这ref总是指同一个对象”。如果引用是 ..
发布时间:2016-10-11 21:28:20 C/C++开发

为什么'这是一个指针,而不是一个参考?

我正在阅读此问题的答案 C ++的优点和缺点/ a>,并在阅读评论时得到了这个疑问。 程序员经常发现,“this”是一个指针,而不是引用。另一个混乱是为什么“hello”不是类型std :: string但评估为一个char const *(指针)(数组到指针转换后)评论时间70年01月01日原作者:Johannes Schaub - b $ b 这只表明它不使用与其他(以后的)语言相同 ..
发布时间:2016-10-11 21:22:10 C/C++开发

在C ++中通过引用传递指针的原因?

在这种情况下,你想在c ++中使用这种性质的代码吗? void foo(type *& in ){...} void fii(){ type * choochoo; ... foo(choochoo); } 解决方案 这是类似于使用双指针的原因;如果你需要修改指针,而不是指针所指向的对象,使用指针的引用比使用指针稍微安全些。 ..
发布时间:2016-10-11 21:10:48 C/C++开发

是返回一个C ++引用变量的做法吗?

这是有点主观的,我想;我不知道这个意见是否一致(我已经看到很多代码片段返回了引用)。 根据这个问题我刚才问,关于初始化引用,返回一个引用可以是邪恶因为,[我知道],它使它更容易错过删除它,这可能导致内存泄漏。 这让我担心,因为我遵循的例子我想象的东西),并在一个公平的几个地方做这个...我误解了吗?是邪恶的吗?如果是这样,是多么邪恶? 我觉得因为我混合的指针和引用,加上我是新的C ..
发布时间:2016-10-11 20:42:20 C/C++开发

什么是C ++中的引用变量?

在C ++中引用变量的简短定义是什么? 解决方案 是一个实体,是另一个对象的别名。 / em>作为变量仅由对象的声明引入。 对象是存储区域,在C ++中,引用不一定占用任何存储空间。 作为对象和引用是C ++中不同的实体组,因此术语“引用变量”没有意义。 ..
发布时间:2016-10-11 20:06:24 C/C++开发

指针与参考

当给一个函数使用原始变量时,更好的做法是: unsigned long x = 4; void func1(unsigned long& val){ val = 5; } func1(x); 或: code> void func2(unsigned long * val){ * val = 5; } func2(& x); ..
发布时间:2016-10-11 20:04:42 C/C++开发

如何“返回对象”在C ++?

我知道标题听起来很熟悉,因为有很多类似的问题,但我要求的问题的不同方面(我知道在堆栈上的东西和把它们放在堆之间的区别)。 在Java中,我总是可以返回对“本地”对象的引用 public Thing calculateThing(){ Thing thing = new Thing(); //做计算和修改事情 return thing; } 在C ++中,做 ..
发布时间:2016-10-11 19:58:55 C/C++开发