草庐IT

this-reference

全部标签

java - Java中的`*this = rhs`?

我来自C++世界,我找不到以下Java替代方案(如果有的话):structSomeStruct{SomeStruct(){}SomeStruct(constSomeStruct&rhs){*this=rhs;}};我需要它的原因是我有一个现有对象的缓存,所以我不想创建另一个实例,而只是“克隆”现有的实例,如下所示:publicclassSomeObject{privatestaticHashtable_objects;SomeObject(){SomeObjectobj=_objects.get(some_key);if(obj!=null){//*this=obj;//instead

java - Java中的`*this = rhs`?

我来自C++世界,我找不到以下Java替代方案(如果有的话):structSomeStruct{SomeStruct(){}SomeStruct(constSomeStruct&rhs){*this=rhs;}};我需要它的原因是我有一个现有对象的缓存,所以我不想创建另一个实例,而只是“克隆”现有的实例,如下所示:publicclassSomeObject{privatestaticHashtable_objects;SomeObject(){SomeObjectobj=_objects.get(some_key);if(obj!=null){//*this=obj;//instead

c++ - F# 性能 : What is making this code so slow?

这个F#代码试图解决ProjectEulerproblem#58:letinc=function|n->n+1letis_prime=function|2->true|nwhennfalse|n->[3..2..(int(sqrt(floatn)))]|>List.tryFind(funi->n%i=0)|>Option.isNoneletspir=Seq.initInfinite(funi->letn=i%4leta=2*(i/4+1)(a*n)+a+(a-1)*(a-1))letrecaccumsepn=matchsewith|xwhenp*100->2*(n/4)+1|xwhen

c++ - F# 性能 : What is making this code so slow?

这个F#代码试图解决ProjectEulerproblem#58:letinc=function|n->n+1letis_prime=function|2->true|nwhennfalse|n->[3..2..(int(sqrt(floatn)))]|>List.tryFind(funi->n%i=0)|>Option.isNoneletspir=Seq.initInfinite(funi->letn=i%4leta=2*(i/4+1)(a*n)+a+(a-1)*(a-1))letrecaccumsepn=matchsewith|xwhenp*100->2*(n/4)+1|xwhen

c++ - 错误 : invalid initialization of reference of type 'int&' from expression of type 'const int'

这是一个与thisquestion中的代码无关的问题。,关于以下模板函数。templateclassObject:publicContainer{public:T&object;Object(constT&obj):object(obj){}};这是调用构造函数的代码:templatevoidArray::add_element(constT&element){vec.push_back(newObject(element));}这段代码编译得很好,但是只要我在main中添加一行调用它:Arrayarray;inti=3;array.add_element(i);我收到编译器警告:er

c++ - 错误 : invalid initialization of reference of type 'int&' from expression of type 'const int'

这是一个与thisquestion中的代码无关的问题。,关于以下模板函数。templateclassObject:publicContainer{public:T&object;Object(constT&obj):object(obj){}};这是调用构造函数的代码:templatevoidArray::add_element(constT&element){vec.push_back(newObject(element));}这段代码编译得很好,但是只要我在main中添加一行调用它:Arrayarray;inti=3;array.add_element(i);我收到编译器警告:er

使用 C 库头文件的 C++ 程序将 "this"识别为关键字。外部 "C"错误?

我的C++程序需要使用外部C库。因此,我正在使用extern"C"{#include}我需要使用的每个模块的语法。到现在为止它运行良好。一个模块在其一个头文件中使用this名称作为一些变量。C库本身编译良好,因为据我所知,this从来都不是C中的关键字。但尽管我使用了extern"C"语法,当我包含该头文件时,我的C++程序出现错误。如果我将C库头文件中的每个this重命名为_this之类的名称,一切似乎都很好。问题是:extern"C"语法不应该足以向后兼容吗?至少在语法级别,对于头文件?这是编译器的问题吗? 最佳答案 Shoul

使用 C 库头文件的 C++ 程序将 "this"识别为关键字。外部 "C"错误?

我的C++程序需要使用外部C库。因此,我正在使用extern"C"{#include}我需要使用的每个模块的语法。到现在为止它运行良好。一个模块在其一个头文件中使用this名称作为一些变量。C库本身编译良好,因为据我所知,this从来都不是C中的关键字。但尽管我使用了extern"C"语法,当我包含该头文件时,我的C++程序出现错误。如果我将C库头文件中的每个this重命名为_this之类的名称,一切似乎都很好。问题是:extern"C"语法不应该足以向后兼容吗?至少在语法级别,对于头文件?这是编译器的问题吗? 最佳答案 Shoul

c++ - 对新运算符的 undefined reference

在我开始编写PSP自制应用程序之前,我从未见过这种链接器错误。无论如何,我正在制作一个快板游戏,在这种情况下我需要发射弹丸或导弹,我需要使用动态和通用数组。但是我的链接器提示对new运算符有undefinedreference。下面将是整个源代码、makefile和错误详细信息。错误详情:1>------Buildstarted:Project:PSPAsteroids,Configuration:DebugWin32------1>psp-g++-I.-IC:/pspsdk/psp/sdk/include-O2-G0-Wall-I.-IC:/pspsdk/psp/sdk/includ

c++ - 对新运算符的 undefined reference

在我开始编写PSP自制应用程序之前,我从未见过这种链接器错误。无论如何,我正在制作一个快板游戏,在这种情况下我需要发射弹丸或导弹,我需要使用动态和通用数组。但是我的链接器提示对new运算符有undefinedreference。下面将是整个源代码、makefile和错误详细信息。错误详情:1>------Buildstarted:Project:PSPAsteroids,Configuration:DebugWin32------1>psp-g++-I.-IC:/pspsdk/psp/sdk/include-O2-G0-Wall-I.-IC:/pspsdk/psp/sdk/includ