new-operator相关内容

在 C# 中使用“新"修饰符

我读到 new 修饰符隐藏了基类方法. 使用系统;A级{公共无效 Y(){Console.WriteLine("A.Y");}}B类:A{公共新无效 Y(){//此方法隐藏 A.Y.//仅通过 B 类型引用调用.Console.WriteLine("B.Y");}}课堂节目{静态无效主要(){A ref1 = 新 A();//不同的新A ref2 = 新 B();//多态性B ref3 = 新 ..
发布时间:2022-01-24 16:35:22 C#/.NET

new 在堆栈而不是堆上(如 alloca 与 malloc)

有没有办法使用 new 关键字在堆栈上分配(ala alloca)而不是堆上(malloc)? 我知道我可以自己破解,但我不想这样做. 解决方案 要在栈上分配,要么将你的对象声明为局部变量按值,或者你可以实际使用alloca来获取一个指针,然后使用就地 new 运算符: void *p = alloca(sizeof(Whatever));新的(p)随便(constructorAr ..
发布时间:2022-01-22 12:48:25 C/C++开发

CUDA - 将设备数据复制到主机?

我有设备变量,在这个变量中,我在设备中分配并填充了一个数组,但是我在将数据获取到主机时遇到了问题.cudaMemcpy() 返回 cudaErrorInvalidValue 错误.我该怎么做? PS:代码只是示例,我知道,在这种特殊情况下,我可以使用 cudaMalloc 因为我知道数组的大小,但在我的真实代码中,它计算的大小设备中的数组,它需要立即分配内存. PS2:我发现了一个类似 ..
发布时间:2022-01-20 18:32:24 其他开发

在Ruby中,'new'和'initialize'之间的关系是什么?初始化时如何返回零?

我想要的是: obj = Foo.new(0) # =>无或假 这不起作用: 类 Foo定义初始化(val)如果 val == 0 则返回 nil结尾结尾 我知道在 C/C++/Java/C# 中,我们不能在构造函数中返回值. 但我想知道在 Ruby 中是否有可能. 解决方案 在 Ruby 中,'new' 和 'initialize' 是什么关系? new 通常调用 ..
发布时间:2022-01-19 14:37:10 其他开发

类型名称后的括号是否与 new 不同?

如果'Test'是一个普通的类,有什么区别: Test* test = new Test; 和 Test* test = new Test(); 解决方案 让我们学以致用,因为存在实际上会影响代码行为的差异.以下大部分内容来自对“旧新事物"文章的评论. 有时 new 运算符返回的内存会被初始化,有时它不会取决于您要更新的类型是否为 POD(普通旧数据),或者如果它是一个包含 POD ..
发布时间:2022-01-18 23:05:52 C/C++开发

命名空间内的运算符 new

命名空间 X{void* operator new (size_t);} 给出错误信息: error: ‘void* X::operator new(size_t)’ 不能在命名空间中声明 它是 gcc 编译器错误 吗?在较旧的 gcc 版本中,它似乎正在工作.任何想法,为什么不允许? 用例:我想只允许类的自定义 operator new/delete 并希望禁止全局 new/oper ..
发布时间:2022-01-14 23:26:06 C/C++开发

new Integer(123)、Integer.valueOf(123) 和 just 123 之间的区别

最近我看到这样的代码(Java): myMethod(new Integer(123)); 我目前正在重构一些代码,Sonar 工具中有一个提示,使用这样的东西对内存更友好: myMethod(Integer.valueOf(123)); 但是在这种情况下,我认为如果我会使用没有区别: myMethod(123); 我可以理解,如果我将变量传递给方法,但硬编码 int?或者如果会有 L ..
发布时间:2022-01-14 14:34:53 Java开发

JavaScript 中的关键字“new"有什么副作用?

我正在为 jQuery 开发一个插件,我收到了这个 JSLint 错误: 第 80 行字符 45 处的问题:不要使用 'new' 来表示副作用.(新的 jQuery.fasterTrim(this, options)); 我没有太多运气找到有关此 JSLint 错误或 new 可能具有的任何副作用的信息. 我试过 谷歌搜索“不要使用'新'来获得副作用."并得到 0 个结果.必应给了我 2 ..
发布时间:2022-01-11 13:37:57 前端开发

没有 delete() 的 new() 是未定义行为还是仅仅是内存泄漏?

可能的重复: 内存泄漏是“未定义行为"吗?C++中的类问题? 永远不要对 new 或 new [] 返回的地址调用 delete 或 delete[]C++ 程序是未定义行为还是仅仅是内存泄漏? 欢迎参考标准(如果有). 这出现在这里的评论之一中.我只是对此有点困惑. 解决方案 [basic.life](3.8 对象生命周期)第4段讲: 程序可以通过重用对象占用的存储 ..
发布时间:2021-12-30 23:43:00 C/C++开发

在 new (c++) 的构造函数调用中不使用括号

可能的重复: 在类型名后面加括号make和新的有区别吗? 所以我的主要内容: Class* pC = new Class; 它的工作原理 Class* pC = new Class(); 我今天才意识到我省略了括号(所以我在某种程度上被最烦人的解析的“相反"击中了). 我的问题:这两种形式是否等价? 解决方案 如果类定义了默认构造函数,则两者是等价的;该对象将通过调用 ..
发布时间:2021-12-30 15:40:56 C/C++开发

JavaScript:使用没有运算符“new"的构造函数

请帮助我理解为什么以下代码有效: var re = RegExp('\\ba\\b') ;警报(重新测试('a'));警报(重新测试('ab')); 第一行没有 new 操作符. 据我所知,JavaScript 中的构造函数是一个函数,它初始化由运算符 new 并且它们不打算返回任何内容. 解决方案 一般来说,如果某物被记录为构造函数,则将 new 与它一起使用.但在这种情况下, ..

如何在新创建的对象上链接方法?

我想知道是否有办法在 PHP 中为新创建的对象链接方法? 类似于: class Foo {公共函数 xyz() { ...返回 $this;}}$my_foo = new Foo()->xyz(); 有人知道实现这一目标的方法吗? 解决方案 在 PHP 5.4+ 中,解析器已被修改,因此您可以执行类似的操作 (new Foo())->xyz(); 将实例化在括号中,并用链子连 ..
发布时间:2021-12-30 15:11:19 PHP

使用 new 和不使用实例化对象有什么区别

在 C++ 中, 除了动态内存分配之外,以下两行代码在功能上是否存在差异: 时间 t (12, 0, 0);//t 是一个时间对象Time* t = new Time(12, 0, 0);//t 是一个指向动态分配的 Time 对象的指针 我当然假设已经定义了一个 Time(int, int, int) ctor.我也意识到在第二种情况下 t 需要删除,因为它是在堆上分配的.还有其他区别 ..
发布时间:2021-12-30 15:07:20 C/C++开发

构造函数可以返回哪些值来避免返回 this?

当使用 newreturn 语句可以返回除 this 以外的值的确切情况是什么?> 关键字? 示例: function Foo() {返回一些东西;}var foo = new Foo(); 如果我没记错的话,如果 something 是一个非函数原语,this 将被返回.否则返回 something.这是正确的吗? 换句话说,something 取什么值可以导致 (new Foo ..
发布时间:2021-12-30 15:05:06 前端开发