问题标签 [new-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1296 浏览

.net - Int32^ i = gcnew Int32() 是否分配在托管堆上?

基本上我想知道和之间的
Int32^ i = gcnew Int32();
区别
Int32* i2 = new Int32();

我写了以下代码:

它提供以下输出:

似乎这两个整数分配在两个不同的内存位置。

gcnew Int32() 是否分配在托管堆中?还是直接在堆栈上?

0 投票
3 回答
526 浏览

c++ - delete[] 提供了一个修改后的新指针。未定义的行为?

在同行代码审查会议期间,我看到了如下一些代码:

首先,我知道在标准 C++ 中,指向过去的数组大小是可以的,尽管访问它会导致未定义的行为。所以我相信最后一行*s++='\0'很好。但如果我没记错的话,C++ 标准要求delete应该提供与new返回相同的指针。

我相信这意味着返回的指针不能被篡改。我想这是因为可能会在可能使用new的返回地址之前保留一些家政信息。delete移动new'd 指针可能会使其无法访问。

它是未定义的行为还是实现定义的或未指定的?任何人都可以确认这一点吗?最好通过指向 C++ 标准中的正确位置。

在免费提供的 C++ 标准草案 (Draft_SC22-N-4411.pdf) 的草案版本中,详细信息在第 5.3.5 节中。我是从 Bjarne 的主页上得到的。

0 投票
2 回答
46382 浏览

vb.net - 你可以在VB中继承一个带有参数的子新(构造函数)吗?

在下面的代码中,我收到编译错误

Dim TestChild As ChildClass = New ChildClass("c")TestChild.Method1()即使它们都在我继承的基类上,我也没有收到它。

我可以将子类更改为:

正如下面所建议的,但我不必为方法 1 或其他继承的方法这样做,我正在寻找尽可能干净的代码。这可能是系统中继承参数化 New 语句的限制,但我无法在任何地方找到它的文档。如果需要,那么我想查看文档。

0 投票
9 回答
9575 浏览

c++ - 何时使用 Malloc 而不是 New

重复:在什么情况下我使用malloc vs new?

只是重新阅读这个问题:
C ++中的“new”和“malloc”和“calloc”有什么区别?

我检查了答案,但没有人回答这个问题:

  • 我什么时候会使用 malloc 而不是 new?

有几个原因(我可以想到两个)。
让最好的漂浮到顶部。

0 投票
11 回答
16722 浏览

c++ - C ++:行为类似于calloc的新调用?

我可以打电话new让它像零内存一样calloc吗?

0 投票
5 回答
2198 浏览

javascript - 如何在 JavaScript 中使用参数值数组而不是将它们列出来构造对象?

这可能吗?我正在创建一个基本工厂函数来驱动不同类型的工厂(但有一些相似之处),并且我希望能够将参数作为数组传递给基本工厂,然后它可能会创建一个新对象的实例来填充参数通过数组的相关类的构造函数。

在 JavaScript 中,可以通过 apply 方法使用数组来调用具有多个参数的函数:

似乎无论如何都没有使用 apply 创建对象的实例,是吗?

类似的东西(这不起作用):

0 投票
15 回答
234932 浏览

c# - 将参数传递给模板类型的 C# 泛型 new()

添加到列表时,我试图通过其构造函数创建一个类型为 T 的新对象。

我收到编译错误:错误消息是:

“T”:创建变量实例时无法提供参数

但是我的类确实有一个构造函数参数!我怎样才能使这项工作?

0 投票
1 回答
368 浏览

wxwidgets - wxWidgets 使用 'new' 关键字

对于wxWidgets,为什么要说:

代替:

两者有什么区别?第二个更易读且更易于使用,但所有示例都使用第一个,所以我想知道原因是什么。

澄清一下,我知道第二个版本不起作用,但我想知道是否有特定的设计决定导致必须使用第一种形式而不是第二种形式。TIA。

0 投票
5 回答
499 浏览

c++ - 可能有什么问题: char* param= new char[200];

我正在用 C++ 编写一个程序,由于某种原因,我在以下行出现分段错误:

我尝试了不同的变体,甚至尝试在它之前放置

并发生同样的错误。我可能做了什么导致这个问题?

什么可能导致像这样的简单内存分配产生问题。

我会包括程序的其余部分,但它超过 1000 行。但请随时询问更多信息。

0 投票
6 回答
53235 浏览

winapi - VirtualAlloc 和 HeapAlloc 有什么区别?

在 Windows 环境中分配内存的方法有很多,例如VirtualAlloc, HeapAlloc, malloc, new

那么,它们之间有什么区别呢?