62得票4回答
C++14中的new和delete仍然有用吗?

除了支持旧代码外,在C++14中何时使用new和delete?鉴于现在可以使用make_unique和make_shared,以及由unique_ptr和shared_ptr析构函数自动删除内存的能力。

61得票2回答
智能指针能够与使用new T[]分配的数组一起使用吗?

智能指针如何处理数组?例如, void function() { std::unique_ptr<int> my_array(new int[5]); } 当my_array超出范围并被销毁时,整个整数数组会被回收吗?还是只有数组的第一个元素被回收?或者还有其他情况发...

61得票5回答
在定义元类时,选择使用__new__而不是__init__是否有任何理由?

我一直这样设置元类:class SomeMetaClass(type): def __new__(cls, name, bases, dict): #do stuff here 但我刚刚遇到了一个被定义成这样的元类:class SomeMetaClass(type): ...

60得票5回答
在 Ruby 中,“new”和“initialize”的关系是什么?如何在初始化时返回 nil?

我想要的是:obj = Foo.new(0) # => nil or false 这不起作用:class Foo def initialize(val) return nil if val == 0 end end 我知道在C/C++/Java/C#中,我们不能在构造函...

60得票18回答
C++中的`new`运算符在现实生活中是否可能抛出异常?

new 操作符在实际应用中会抛出异常吗? 如果是,除了终止应用程序之外,我还有其他处理这种异常的选择吗? 更新: 在现实世界中,负责创建对象的 new 操作是否会检查失败并进行恢复,以避免内存不足的情况发生? 另请参阅: 您多久检查一次 C++ 的 new 指令中是否存在异常? 在 C++...

58得票3回答
如何在 Go 结构体中初始化成员

我是Golang的新手,因此其中的分配使我感到疯狂:import "sync" type SyncMap struct { lock *sync.RWMutex hm map[string]string } func (m *SyncMap) Put (k, ...

58得票9回答
JavaScript: 好的部分 - 如何完全不使用 `new`

Crockford在他的书《JavaScript权威指南》(第114页)中表示,构造函数的名称应该始终以大写字母开头(例如Point),而其他函数名应该使用小写字母,只有构造函数应该使用大写字母开头。 这个约定有助于我们避免在使用构造函数时忘记使用new运算符。 他接着说:"更好的策略是根...

58得票2回答
为什么要使用GWT.create()而不是new?

GWT.create(SomeClass.class)和new SomeClass()有什么区别? 为什么你会选择使用其中一种而不是另一种?

57得票9回答
如何分配线程局部存储?

我在函数中有一个静态变量,但我希望它是基于每个线程静态的。 如何分配内存来创建我的C++类实例,以便每个线程都拥有自己的类实例的副本?AnotherClass::threadSpecificAction() { // How to allocate this with thread lo...

57得票3回答
新的返回值是否总是为NULL?

据C++标准规定,如果new操作符在分配内存时失败,它应该抛出std::bad_alloc异常。但是我听说一些编译器(例如VC6或CRT实现)没有遵循这个标准。这是真的吗?我问这个问题是因为每个new语句后都检查NULL会使代码看起来非常丑陋。