Questions tagged «reference»

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

12
指针与参考
给函数一个原始变量以供使用时,更好的做法是: unsigned long x = 4; void func1(unsigned long& val) { val = 5; } func1(x); 要么: void func2(unsigned long* val) { *val = 5; } func2(&x); 爱荷华州:有什么理由选择一个?

5
用xml引用字符串数组资源中的字符串
我有首选项,您可以在其中启用/禁用菜单上显示哪些项目。有17个项目。我在values / arrays.xml中创建了一个字符串数组,其中包含这17个项目的标题。 我有preferences.xml,它具有我的首选项文件的布局,并且我想引用字符串数组中的单个项目用作标题。 我怎样才能做到这一点? 在Android开发人员参考中,我了解了如何使用XML引用单个字符串,但是没有如何引用XML数组资源中的字符串。

30
无法加载文件或程序集或其依赖项之一
我遇到了另一个“无法加载文件或程序集或其依赖项”问题。 附加信息:无法加载文件或程序集“ Microsoft.Practices.Unity,版本= 1.2.0.0,区域性=中性,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自HRESULT的异常:0x80131040) 我不知道是什么原因造成的,或者我如何调试它以找到原因。 我已经在我的解决方案目录.csproj文件中进行了搜索,并且在拥有Unity的每个地方都有: 参考Include =“ Microsoft.Practices.Unity,版本= 2.0.414.0,文化=中性,PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL” 在我的任何项目中都找不到任何与1.2.0.0背离的参考。 有什么想法我应该去解决这个问题吗? 通常,我还将感谢有关如何调试此类问题的技巧。

11
非常量引用为什么不能绑定到临时对象?
为什么不允许获得对一个临时对象的非常量引用,哪个函数getx()返回?显然,这是C ++标准所禁止的,但是我对这种限制的目的感兴趣,而不是对该标准的引用。 struct X { X& ref() { return *this; } }; X getx() { return X();} void g(X & x) {} int f() { const X& x = getx(); // OK X& x = getx(); // error X& x = getx().ref(); // OK g(getx()); //error g(getx().ref()); //OK return 0; …


10
为什么在Rust中需要显式的生存期?
我正在阅读Rust书的终生一章,并且遇到了这个示例,它给出了一个有名/显式的终生: struct Foo<'a> { x: &'a i32, } fn main() { let x; // -+ x goes into scope // | { // | let y = &5; // ---+ y goes into scope let f = Foo { x: y }; // ---+ f goes into scope x = …

7
如何在xml文档中引用通用类和方法
编写xml文档时,您可以使用<see cref="something">something</see>,这当然可以工作。但是,如何引用具有泛型类型的类或方法? public class FancyClass<T> { public string FancyMethod<K>(T value) { return "something fancy"; } } 如果我要在某处编写xml文档,我将如何引用这个花哨的类?我该如何引用FancyClass<string>?那方法呢? 例如,在另一个类中,我想让用户知道我将返回的实例FancyClass<int>。我该如何为此做一个见识参考资料呢?

2
准确了解data.table是何时引用另一个data.table(相对于另一个data.table的副本)
我在理解的传递引用属性时遇到了一些麻烦data.table。有些操作似乎“破坏”了参考,我想确切地了解正在发生的事情。 在创建data.table另一个表data.table(通过<-,然后通过来更新新表时:=,原始表也将被更改。这是预期的,具体如下: ?data.table::copy 和stackoverflow:通过操作员在数据表包中的引用传递 这是一个例子: library(data.table) DT <- data.table(a=c(1,2), b=c(11,12)) print(DT) # a b # [1,] 1 11 # [2,] 2 12 newDT <- DT # reference, not copy newDT[1, a := 100] # modify new DT print(DT) # DT is modified too. # a b # [1,] 100 11 …

18
从属DLL不会复制到Visual Studio中的生成输出文件夹中
我有一个视觉工作室解决方案。我在解决方案中有很多项目。有一个主要项目充当启动项目,并使用其他项目。有一个项目称为“ ProjectX”。其参考已添加到主项目中。ProjectX引用了另一个不属于解决方案的.NET dll(例如abc.dll)。 现在,应将此abc.dll复制到主项目的bin / debug文件夹中,但不会在此处复制它。任何已知原因为何未复制它?

2
为什么“ this”是指针而不是引用?
我在阅读有关C ++优缺点的问题的答案,并在阅读注释时遇到了疑问。 程序员经常发现“ this”是一个指针而不是一个引用令人困惑。另一个困惑是为什么“ hello”不是std :: string类型,而是求值为char const *(指针)(在数组到指针的转换之后)– Johannes Schaub-litb 08年12月22日在1:56 这仅表明它没有使用与其他(后来的)语言相同的约定。– le dorfier 08年12月22日在3:35 我将“这个”事情称为一个非常琐碎的问题。糟糕,感谢您在我的未定义行为示例中发现了一些错误。:)尽管我不了解有关尺寸的信息与第一个信息有关。完全不允许指针指向已分配的内存之外– jalf 08年12月22日在4:18 这是持续不断的痛苦吗?– yesraaj 08年12月22日下午6:35 如果方法是const int getFoo()const,则它可以是常量。<-在getFoo的范围内,“ this”是常量,因此是只读的。这样可以防止错误,并为调用者提供一定程度的保证,即该对象不会更改。– Doug T. 08年12月22日在16:42 您不能重新分配“此”。即您不能执行“ this =&other;”,因为这是一个右值。但这是T *类型,而不是T const类型。即它是一个非恒定指针。如果您使用的是const方法,则它是指向const的指针。T常量 但指针本身是非常量– Johannes Schaub-litb 08年12月22日在17:53 可以这样想“ this”:#define this(this_ + 0),其中编译器创建“ this_”作为指向对象的指针,并使“ this”成为关键字。您不能分配“ this”,因为(this_ + 0)是一个右值。当然不是这样的(没有这样的宏),但是它可以帮助理解它– Johannes Schaub-litb …

2
Rust的确切自动引用规则是什么?
我正在使用Rust进行学习/实验,并且在使用该语言所获得的所有优雅中,都有一种使我感到困惑的特质,并且似乎完全不合时宜。 进行方法调用时,Rust自动取消引用指针。我进行了一些测试以确定确切的行为: struct X { val: i32 } impl std::ops::Deref for X { type Target = i32; fn deref(&self) -> &i32 { &self.val } } trait M { fn m(self); } impl M for i32 { fn m(self) { println!("i32::m()"); } } impl M for X { fn m(self) { …


7
如何在C ++中“返回对象”?
我知道标题听起来很耳熟,因为有许多类似的问题,但是我要问的是问题的另一个方面(我知道将事物放在堆栈上并将它们放在堆上的区别)。 在Java中,我总是可以返回对“本地”对象的引用 public Thing calculateThing() { Thing thing = new Thing(); // do calculations and modify thing return thing; } 在C ++中,要做类似的事情,我有2个选择 (1)每当需要“返回”对象时,我都可以使用引用 void calculateThing(Thing& thing) { // do calculations and modify thing } 然后像这样使用它 Thing thing; calculateThing(thing); (2)或者我可以返回指向动态分配对象的指针 Thing* calculateThing() { Thing* thing(new Thing()); // do calculations and modify …

10
C#字符串引用类型?
我知道C#中的“字符串”是引用类型。这是在MSDN上。但是,此代码无法正常运行,因此应: class Test { public static void Main() { string test = "before passing"; Console.WriteLine(test); TestI(test); Console.WriteLine(test); } public static void TestI(string test) { test = "after passing"; } } 由于我将字符串作为参数传递并且是引用类型,因此输出应为“传递前”或“传递后”,第二个输出语句应识别出TestI方法中的文本已更改。但是,我得到“通过之前”“通过之前”,似乎它是通过值而不是通过引用传递的。我知道字符串是不可变的,但是我看不出它怎么解释这里发生的事情。我想念什么?谢谢。
163 c#  string  reference  types 

6
PHP Foreach通过参考传递:最后一个元素重复吗?(臭虫?)
我刚编写的简单php脚本有一些非常奇怪的行为。我将其减少到重新创建该错误所需的最低限度: <?php $arr = array("foo", "bar", "baz"); foreach ($arr as &$item) { /* do nothing by reference */ } print_r($arr); foreach ($arr as $item) { /* do nothing by value */ } print_r($arr); // $arr has changed....why? ?> 输出: Array ( [0] => foo [1] => bar [2] => baz …
159 php  arrays  loops  reference 

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.