built-in-types相关内容

构造函数指定所有内置成员的零初始化?

类的构造函数是否有更简单的方法来指定内置类型的所有成员都应该进行零初始化? 此代码片段出现在另一篇文章中: 结构金钱{双倍数量P,数量G,总变化;int 二十,十,五,一,变化;int 季度,一角钱,镍,便士;无效的富();钱() {}}; 事实证明,问题在于该对象是通过 Money mc; 实例化的,而变量未初始化. 推荐的解决方案是添加以下构造函数: Money::Mone ..
发布时间:2022-01-18 23:42:13 C/C++开发

指定所有内置成员的零初始化的构造函数?

类的构造函数有没有更简单的方法来指定所有内置类型的成员都应该被零初始化? 此代码片段出现在另一篇文章中: struct Money{双倍金额P,金额G,总变化;int 二十,十,五,一,变化;int 四分之一,一角硬币,镍币,一分钱;无效的 foo();钱() {}}; 事实证明,问题在于对象是通过Money mc; 实例化的,而变量未初始化. 推荐的解决方案是添加以下构造函数: ..
发布时间:2021-12-30 15:34:36 C/C++开发

不使用内置类型和运算符的复数Python划分

我必须实现一个名为ComplexNumbers的类,该类表示一个复数,并且不允许为此使用内置类型. 我已经覆盖了允许执行基本操作的运算符(__add__,__sub__,__mul__,__abs__,__str_). 但是现在我不得不覆盖__div__运算符. 允许使用: 我用float表示数字的虚部,用float表示相关部分. 我已经尝试过的: 我查看了如何对复数进行除 ..
发布时间:2020-07-19 18:42:57 Python

问题子类化内置类型

# Python 3 class Point(tuple): def __init__(self, x, y): super().__init__((x, y)) Point(2, 3) 会导致 TypeError:tuple()最多需要1个 论点(给出2个) 为什么?我该怎么办? 解决方案 tuple是不可变的类型.它甚至在调用__init__之 ..
发布时间:2020-07-19 18:42:49 Python

Python中内置类型的自定义比较功能

我正在使用Python的内置集来保存我定义的类的对象.对于此类,我定义了__eq__,__ne__和__hash__,以便可以通过自定义比较函数比较对象.效果很好,直到我发现我实际上需要两个比较函数集,这些比较函数将在我的代码中的不同时间以不同的方式使用. 我无法在类中定义两组__eq__等方法,并且Python的内置set类型不接受比较器参数.我想我可以围绕set编写包装类,但这似乎比必要 ..
发布时间:2020-07-19 18:42:46 Python

如何保护内置类型不覆盖(分配)其方法?

我注意到了 int.__str__ = lambda x: pass 产生错误. 我明白了,为什么禁止这样做.但是如何?我可以在“普通"代码中使用它吗? 解决方案 要直接在int本身和其他内置类型(而不是其实例)上设置属性,此保护发生在static int type_setattro(PyTypeObject *type, PyObject *name, PyObject ..
发布时间:2020-07-19 18:42:42 Python

我可以向内置Python类型添加自定义方法/属性吗?

例如,我想向Python的dict类型添加helloWorld()方法.我可以这样做吗? JavaScript的原型对象具有这种行为.也许这是一个不好的设计,我应该对dict对象进行子类化,但随后它只能在子类上起作用,而我希望它在将来的所有字典中都可以使用. 这是它在JavaScript中的显示方式: String.prototype.hello = function() { ..
发布时间:2020-07-19 18:42:37 Python

重新定义Python内置数据类型

是否可以重新定义方括号[]使用的对象? 我可以对list对象进行子类化,但是如何使解释器使用我的子类来代替内置列表对象?是否有可能? (我很确定我对问题使用了错误的术语-随时可以编辑) >>> class mlist(list): ... def __init__(self): ... list.__init__(self) ... def __g ..
发布时间:2020-05-02 07:01:15 Python

原始类型还有C ++中的构造函数?

我已经阅读了博士Bjarne Stroustrup书“C ++编程语言”第三版内置类型在C ++中的构造函数在10.4.2节。 但是下面的链接说明POD类型不能有构造函数: http://www.parashift.com/c++-faq-lite/pod-types.html 这是真的吗?原型类型在C ++中也有构造函数? 解决方案 Bjarne的意思是你可以写 int ..
发布时间:2016-12-30 16:06:50 C/C++开发

矢量中元素的默认结构

在阅读此问题的答案时, a>我对向量中对象的默认构造有疑问。要测试它,我写了以下测试代码: struct Test { int m_n; Test(); Test(const Test& t); 测试& operator =(const Test& t); }; Test :: Test():m_n(0) { } Test :: Test(c ..
发布时间:2016-10-27 00:53:24 C/C++开发

int a = int();在C ++ 98中会发生什么?

在您认为将其标记为重复之前,请先阅读该问题。 int i = int(); 大多数程序员会说,这里有值初始化&我将值初始化。 (0作为输出)。但它也打印0作为C ++ 98编译器的输出。 下面的程序,我测试了C ++ 98实现,并给我0作为输出。 #include int main() { int i = int(); std :: cout ..
发布时间:2016-10-23 22:52:30 C/C++开发

如何“int * ptr = int()”值初始化不是非法?

以下代码(从这里): int * ptr = int 在Visual C ++中编译,并初始化指针。 这怎么可能?我的意思是 int()产生一个 int 类型的对象,我不能赋值 $ b 解决方案 int()是一个值为0的常量表达式,因此它是一个生成空指针常量的有效方法。最后,它只是一个稍微不同的方式说 int * ptr = NULL; ..
发布时间:2016-10-22 17:19:42 C/C++开发