Questions tagged «reference»

引用是使程序能够间接访问计算机内存或某些其他存储设备中的特定数据(例如变量或记录)的值。

6
为什么在C ++中引用不是“ const”?
我们知道,“常量变量”表示一旦分配,就不能更改该变量,如下所示: int const i = 1; i = 2; 上面的程序无法编译;gcc提示错误: assignment of read-only variable 'i' 没问题,我可以理解,但是以下示例超出了我的理解范围: #include<iostream> using namespace std; int main() { boolalpha(cout); int const i = 1; cout << is_const<decltype(i)>::value << endl; int const &ri = i; cout << is_const<decltype(ri)>::value << endl; return 0; } 它输出 true false …

10
C#引用和指针之间有什么区别?
我不太了解C#引用和指针之间的区别。它们都指向内存中的位置,不是吗?我能弄清的唯一区别是,指针不那么聪明,不能指向堆上的任何东西,可以免于垃圾回收,并且只能引用结构或基本类型。 我问的原因之一是,人们认为要成为一名优秀的程序员,人们需要很好地理解指针(我猜是C)。许多学习高级语言的人都错过了这一点,因此有这个缺点。 我只是不了解指针的复杂性?它基本上只是对内存中位置的引用,不是吗?它可以返回其位置并直接与该位置的对象进行交互吗? 我错过了重点吗?
85 c#  pointers  reference 

12
如何将一个ArrayList的内容复制到另一个?
我有一些数据结构,我想将其中一个用作临时结构,将另一个用作非临时结构。 ArrayList<Object> myObject = new ArrayList<Object>(); ArrayList<Object> myTempObject = new ArrayList<Object>(); //fill myTempObject here .... //make myObject contain the same values as myTempObject myObject = myTempObject; //free up memory by clearing myTempObject myTempObject.clear(); 现在的问题当然是myObject实际上只是指向myTempObject,因此一旦myTempObject清除,也是如此myObject。 如何myTempObject在myObject使用Java时保留值?



4
了解Java的参考类:SoftReference,WeakReference和PhantomReference
有人可以解释这三个Reference类之间的区别吗(或发布一个很好的解释的链接)?SoftReference> WeakReference> PhantomReference,但当我会用每一个?为什么会有一个,WeakHashMap但没有SoftHashMap或PhantomHashMap? 如果我使用以下代码... WeakReference<String> ref = new WeakReference<String>("Hello!"); if (ref != null) { // ref can get collected at any time... System.gc(); // Let's assume ref gets collected here. System.out.println(ref.get()); // Now what?! } ...怎么了?我是否必须ref在每个语句之前检查是否为null(这是错误的,但是我应该怎么办)?很抱歉急速提问,但我无法理解这些Reference课程...谢谢!

1
将数据帧转换为data.table而不复制
我有一个很大的数据帧(大约数GB),我想将其转换为data.table。使用as.data.table创建数据帧的副本,这意味着我需要可用内存至少为数据大小的两倍。有没有复制的方法吗? 这是一个简单的示例来演示: library(data.table) N <- 1e6 K <- 1e2 data <- as.data.frame(rep(data.frame(rnorm(N)), K)) gc(reset=TRUE) tracemem(data) data <- as.data.table(data) gc() 输出: library(data.table) # data.table 1.8.10 For help type: help("data.table") N <- 1e6 K <- 1e2 data <- as.data.frame(rep(data.frame(rnorm(N)), K)) gc(reset=TRUE) # used (Mb) gc trigger (Mb) max used (Mb) # Ncells …

5
引用成员变量作为类成员
在我的工作场所,我看到这种风格被广泛使用: #include <iostream> using namespace std; class A { public: A(int& thing) : m_thing(thing) {} void printit() { cout << m_thing << endl; } protected: const int& m_thing; //usually would be more complex object }; int main(int argc, char* argv[]) { int myint = 5; A myA(myint); myA.printit(); return 0; …
81 c++  reference 

5
数据库如何在内部工作?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 改善这个问题 在过去的几年中,我一直在使用数据库,我想我在使用它们方面已经相当胜任。但是,我最近在阅读有关乔尔泄漏抽象定律的信息,我意识到,即使我可以编写查询从数据库中获取几乎所有我想要的东西,但我也不知道数据库实际上是如何解释查询的。有谁知道解释数据库内部工作方式的好文章或书籍? 我感兴趣的一些特定事物是: 数据库实际上要做什么才能找出与select语句匹配的内容? 数据库如何用几个“ where key1 = key2”语句对查询的联接进行不同的解释? 数据库如何存储其所有内存? 索引如何存储?

8
标准VBA功能的“找不到项目或库”
因此,我必须在PC上运行其他人的excel应用程序,并且在标准功能(例如日期,格式,十六进制,中点等)上得到“找不到项目或库”。 一些研究表明,如果我在这些功能前面加上“ VBA”。就像“ VBA.Date”中那样,它将正常工作。 网页建议它与我系统上的项目引用有关,而在开发人员系统上必须可以。我将在一段时间内与其他人一起处理这个问题,并将这些应用程序分发给许多其他人,因此我需要了解我需要修复的excel设置有什么问题,或者需要在其中更改哪些内容。 xls文件,以便它可以在各种系统上运行。我想避免让每个人都使用“ VBA”。作为一个明确的参考,但是如果没有理想的解决方案,我想这就是我们要做的。 如何制作“ VBA”。隐含在我的项目属性/引用/等中? -亚当

7
C ++通过引用传递数组
允许通过引用传递数组吗? void foo(double& *bar) 似乎我的编译器说不。为什么?通过引用传递数组的正确方法是什么?还是可以解决?我有一个数组参数,我的方法应修改该参数,然后再检索。另外,我可以使该数组成为一个类成员,可以很好地工作,但是它对我代码的其他部分有很多缺点(我想避免)。 感谢致敬。




1
C ++ 11 auto:如果得到一个常量引用怎么办?
请看下面的简单代码: class Foo { public: Foo(){} ~Foo(){} Foo(const Foo&){} Foo& operator=(const Foo&) { return *this; } }; static Foo g_temp; const Foo& GetFoo() { return g_temp; } 我试图这样使用auto: auto my_foo = GetFoo(); 我希望这my_foo将是对的常量引用Foo,这是函数的返回类型。但是,类型auto为Foo,而不是引用。此外,my_foo通过复制创建g_temp。这种行为对我而言并不那么明显。 为了获得对的引用Foo,我需要这样编写: const auto& my_foo2 = GetFoo(); auto& my_foo3 = GetFoo(); 问题:为什么auto推断出GetFoo作为对象而不是引用的返回类型?
77 c++  reference  c++11  auto 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.