问题标签 [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 投票
16 回答
319957 浏览

javascript - JavaScript 中的“new”关键字是什么?

JavaScript 中的new关键字在第一次遇到时可能会非常混乱,因为人们倾向于认为 JavaScript 不是一种面向对象的编程语言。

  • 它是什么?
  • 它解决了哪些问题?
  • 什么时候合适,什么时候不合适?
0 投票
1 回答
346 浏览

asp.net - Asp.net 页面崩溃其他 asp 页面

我有几个使用几个数据库连接的 Asp.net 页面 - 问题是当这两个页面分别加载时,它们会崩溃所有其他 .asp 页面,但没有 .aspx 页面。

但是对于未加载的 asp 页面,我收到此错误:HTTP/1.1 New Session Failed

0 投票
2 回答
190 浏览

qt - 指针不会返回分配的地址

我正在将Qt Creator 4.5 与GCC 4.3 一起使用,我遇到了以下问题,我不确定Qt或 C++ 是否相关:我调用一个带有 achar *作为输入参数的函数。在该函数内部,我进行了动态分配,并将地址分配给char *. 问题是当函数返回时它不再指向这个地址。

当我返回指针时,它包含的地址与分配的地址完全不同putDatagrams()。为什么?
...

好的,我理解我的错误(新手错误:()。当将指针作为输入参数发送给函数时,您发送数据的地址而不是指针的地址,因此您不能将指针指向其他地方......它实际上是像 Index 这样的本地副本。使用 char * 成功返回数据的唯一情况是在函数调用之前分配内存:

0 投票
5 回答
9289 浏览

c++ - C++ 新运算符。创建新实例

我在用 C++ 创建对象时遇到了一些麻烦。我创建了一个名为 Instruction 的类,并尝试创建一个新实例,但出现编译器错误。

班级代码:

这就是我尝试创建新对象的方式:

我收到以下编译器错误:

你们是对的。错误来自这行代码:

instList 是这样创建的:

0 投票
3 回答
64551 浏览

php - 将新数据添加到 PHP JSON 字符串中

我有 $data 作为 JSON 编码的数据,我有这个字符串:

需要将其添加到 $data 以便我可以将其作为 json 字符串读取。

我怎样才能做到这一点?

0 投票
4 回答
340 浏览

c++ - 分配数组时运算符 new 的问题

我的 C++/openGL 程序有问题。

在某些代码点,比如这些(它是一个构造函数):

新的抛出一个 std::bad_alloc 异常。在另一个地方也是一样。有没有可能,我的内存用完了?我不这么认为,所以如果你能帮助我,我会很高兴!再见!

0 投票
4 回答
178 浏览

c++ - 尝试打印值时出现 bad_alloc 异常

我已经将我的另一个问题调试回MyMesh构造函数。在这段代码中:

我正在为网格确定必要的 SurfacePoints 和 Triangles。布尔“空心”和“平滑”表示,如果我需要在圆锥体上打一个洞,或者法线是否相同,但我认为这无关紧要。

问题是:如果hollow==false,它会做错事,但不会崩溃,它甚至允许将值放入数组中,但是当我试图像这样计算它时:

它会在 i=0 时引发 bad_alloc 异常。

此外,曾经有一段时间,上面的代码段向 operator new 抛出了一个 bad_alloc,但这个问题自己解决了,但也许它是相关的。

有谁能够帮我?

0 投票
9 回答
110342 浏览

iphone - 在 iOS 应用程序的文档文件夹中创建一个文件夹

我只想在我的 iPhone 应用程序的文档文件夹中创建新文件夹。

有人知道该怎么做吗?

感谢你的帮助!

0 投票
4 回答
51789 浏览

c++ - 没有新的 C++ 对象

这是一个非常简单的问题,但我多年来一直没有正确完成 C++,所以我对此感到有些困惑。此外,在互联网上查找并不是最容易的事情(至少对我来说),而不是尝试。

为什么不使用new关键字,它是如何工作的?

基本上,这里发生了什么?

0 投票
1 回答
334 浏览

c++ - 新的没有分配足够的内存?

好吧,我直接从网络中取出数据包并从中提取 TCP 流。

简而言之,这意味着剥离各种标头(例如,eth->IP->TCP->stream 数据)。

在我最终通过所有标题时调用的函数中,我遇到了一个奇怪的错误。

TCP流只是一个u_int32_t和一个u_char*指向数据包数据的副本。所以,当我使用 memcpy 时,它出现了段错误。
显然,要么我的指针无效,要么我弄乱了我的长度。

在这个特定数据包的情况下,数据的长度是 1380 字节(由 Wireshark 确认),因此 len 计算正确。

好的,所以我必须弄乱我的指针(但不是 NULL)。我做了以下实验:

所以,当我对 streamData 的引用太远(具体索引为 1236)时,我会出现段错误!但是 streamData 被实例化为:

我从 i=0 开始迭代 streamData,所以我没有跳过一堆数据。streamData 是u_char*并且offset(pkt)u_char*所以我不会弄乱我的类型。

在成功迭代 3000 多个其他数据包后,这在特定数据包上失败。转储文件是 27 megs,我有 4 gigs 的 ram,所以我认为我没有用完或任何东西......所以我不得不得出结论 new 没有分配足够的内存,但为什么?