问题标签 [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 回答
2142 浏览

windows - 在 Windows 上开发 GUI 的最佳语言/工具

我查看了提供给“GUI 编程 API”帖子的答案,想知道这些答案是否仍然适用。
https://stackoverflow.com/questions/610/gui-programming-apis

特别是从该线程来看,QT 似乎是 wxWidgets 引用最多的一个,而 Shoes 紧随其后的是第二和第三。

我只是想确保自该问题发布以来的过去 6 个月内没有出现最终的获胜者。

我受限于开源和免费软件解决方案,所以我会强烈倾向于这种方式。

感谢您的任何反馈和见解。我对 Perl、C++ 和 VB 有一点经验。

0 投票
2 回答
4927 浏览

javascript - Firefox window.opener 问题

只要从右键菜单中使用“在新选项卡中打开”,“window.opener”在 IE 和 Firefox 中都可以正常工作;错误控制台说“window.opener”为空。有没有其他方法可以访问开瓶器?

编辑:错误控制台说“window.opener”只有在单击“在新选项卡中打开”时才为空。对于所有其他情况,不存在此类错误。因此,我想知道是否存在“window.opener”以外的替代方案。

0 投票
8 回答
6377 浏览

c# - C#/.Net 中“新”属性的优缺点?

考虑以下示例代码:

和以下示例订单类:

当我派生一种新类型的订单类时,它将继承 DeliveryStrategy 类型的 Delivery 属性。

现在,当必须使用 ParcelDelivery 策略交付 CustomerOrders 时,我们可以考虑在 CustomerOrder 类中的 Delivery 属性中使用“ new ”:

(CustomerOrder 显然需要确保与 Order 兼容(多态))

这允许在 CustomerOrder 上直接使用 ParcelDelivery 策略,而无需强制转换。

你会考虑使用这种模式吗?为什么/为什么不?

更新:我想出了这种模式,而不是使用泛型,因为我想将它用于多个属性。我不想对所有这些属性使用泛型类型参数

0 投票
2 回答
215 浏览

java - Java 静态对象与常规对象

在处理我之前的问题时,

Java Jar 类未找到异常

我注意到了一些奇怪的事情。找不到的类是从main中引用的。现在,如果我尝试创建类的实例,例如

SysTray 托盘 = 新的 SysTray();

当我尝试运行应用程序时,我得到一个类未找到异常,但如果我像这样创建它

静态 SysTray 托盘 = new SysTray();

它被加载没有报告任何问题。

我想知道是否有人知道这是为什么?

这应该与类路径无关,因为没有外部依赖项并且应用程序包含在 jar 中。

0 投票
4 回答
225 浏览

vb.net - 以下哪项允许在单个文本行上出现多个语句?

以下哪项允许在单个文本行上出现多个语句?

  • a) 冒号 ( : )
  • b) 分号 (;)
  • c) 空格 + 下划线 (_)
  • d) 下划线 + 空格 (_)
0 投票
3 回答
1938 浏览

new-operator - 如何推广新产品/服务?

对于单独开发产品或服务的开发人员来说,这通常是一个问题。他们如何宣传他们的产品?

我最近完成了我的一个项目,我正在努力传播它。

您认为推广您的新产品/服务的最佳方式是什么?

尽管这个问题与编程并不严格相关,但对于想要将他们的作品进行创作的程序员来说,这是一个很好的问题。

0 投票
6 回答
15400 浏览

c++ - 在堆上创建数组并用指针寻址它们

我无法理解以下代码,我希望在堆上创建一个数组并用字符 9 填充到 0(我知道我可以像使用 [] 符号的普通堆栈数组一样索引数组这样做,但我这样做是为了更深入地理解指针):

它打印出完全出乎意料的值。

据我了解,“new”命令在堆上创建了一个数组,并向我发送了一个指向数组所在地址的指针。由于我分配的指针 (ptrHeapArray) 是 int 大小,我认为我可以使用指针后递增来导航数组。然而,结果表明我的假设是错误的。

这让我想到,“new”关键字传回的指针可能只是指向整个数组的指针,并且由于某种原因不能用于单步执行数组。所以我尝试创建另一个指向“new”关键字返回的指针的指针,并用它来填充我的数组:

这工作得很好。谁能向我解释为什么我必须这样做并且不能只使用通过“new”关键字传递给我的指针?

谢谢

0 投票
3 回答
1069 浏览

c++ - 在 C++ 中放置 new 执行的操作的完整列表是什么?

这个问题中,讨论了在编译器不支持new和放置new时创建工厂方法。显然,如果通过放置new完成的所有必要步骤都以某种方式重现,则可以使用 malloc() 制作一些合适的解决方案。

Placement new有什么作用——我会尽量列出并希望不要错过任何东西——除了以下内容?

  • 递归调用所有基类的构造函数
  • 为所有成员变量调用构造函数和初始化程序(如果有)
  • 相应地设置 vtable 指针。

还有哪些其他动作?

0 投票
8 回答
11617 浏览

c++ - 您应该能够分配多少内存?

背景:我正在编写一个处理大量地理数据的 C++ 程序,并希望一次加载大块以进行处理。我只能使用为 32 位机器编译的应用程序。我正在测试的机器运行的是 64 位操作系统(Windows 7)并且有 6 gig 的内存。使用 MS VS 2008。

我有以下代码:

我希望我能够分配内存,直到应用程序达到 32 位寻址的 4 GB 限制。但是,当 nBandBytes 为 466,560,000 时,新的在第二次尝试时会抛出 std::bad_alloc。在这个阶段,该进程的工作集(内存)值为 665,232 K 所以,我似乎无法获得甚至分配的内存。

有人提到 32 位 Windows 中的应用程序有 2 gig 限制,使用 win32 的 /3GB 开关可以将其扩展到 3 gig。在那种环境下这是一个很好的建议,但与这种情况无关。

在 64 位操作系统和 32 位应用程序下,您应该能够分配多少内存?

0 投票
5 回答
3393 浏览

objective-c - 关于objective-c的新内容

我想做这个:

但编译器返回:

有没有办法做到这一点?就像在java中一样: