|
1
5
完美的 可能不需要任何形式的删除。有一个垃圾收集的环境,让程序员避免整个问题。 咆哮中的抱怨似乎归结为
他说得对,令人恼火的是,你必须同时实现这两个目标
这将破坏所有C代码的很大一部分。 所以,你可以有一种语言
…但这意味着您可以编写代码,将Foo转换为Bar,而不让编译器看到它。如果您需要,这也将启用ducktyping。 问题是,一旦你完成了这些事情,你就有了一个C-ish语法的Python或Ruby。 自从Stroustrup发出CVAX 1的磁带以来,我一直在写C++。C++中涉及的许多历史现在都是出于对一个可以融入C世界的OO语言的渴望。大约在同一时间,还有很多其他更令人满意的语言问世,比如埃菲尔。C++似乎已经赢了。我怀疑它赢了 因为 它可以适应C世界。 |
|
|
2
3
这个叫嚣,IMHO,是非常误导的,在我看来,作者确实理解细节,只是他似乎想误导。IMHO,显示参数中缺陷的关键点如下:
本标准规定上述函数具有以下属性:
重申这一点——这一职能 故意不执行其他操作 . 这一点非常重要,因为它是placement new功能的关键:它用于调用对象的构造函数,这就是它的全部功能。请明确注意 大小 甚至没有提到参数。
明确阐述了他的一些观点:
这同样是不正确的 ::新操作员 扮演 马洛克 :
正如我上面提到的,我们需要一个新的位置来调用B的构造函数 空虚* 没有问题,尽管再次使用placement new将改进类型检查。 他提出的另一点是关于对齐要求:
3.7.3.1/2中的标准规定:
这在我看来很清楚。 在specialized allocators(专用分配器)下,作者描述了您可能遇到的潜在问题,例如,您需要将分配器用作分配内存的任何类型的参数,并且构造的对象需要显式调用其析构函数。同样,这与将分配器对象传递给C结构的“initalizeMe”调用有何不同? 关于调用析构函数,C++中可以很容易地创建一种特殊的智能指针,我们称之为“PrimeTyPosiple”,我们可以定义它在析出析构函数时显式调用析构函数。因此,我们可以:
我想评论的最后一点是:
但正如他通过提供定义所强调的那样,size参数并没有在分配函数中使用。分配功能不起作用 没有什么 此代码还有其他问题,但不是作者列出的问题。 |
|
jlandercy · PostgreSQL参数化窗口大小 8 年前 |