语言设计 问答列表

何时应使 co_await 运算符重载?

作者:Jan Schultke 提问时间:9/13/2023

我最近发现以下代码是合法的: struct S { void operator co_await(); }; 为什么是超载运算符?我为什么要重载它,这样做的惯用方法是什么?co_await ...

为什么 std::move 被命名为 std::move?

作者:Howard Hinnant 提问时间:1/26/2014

该函数根本没有真正移动任何东西。 它只是对右值的强制转换。 为什么要这样做? 这不是误导吗?std::move(x)...

为什么默认情况下没有调整特征大小?

作者:kalkronline 提问时间:9/8/2023

我定义了一个特征,其中包含一个返回的函数,但会产生错误:ReadTagSelf trait ReadTag { fn read_out(buf: &mut &[u8]) -> Option<Sel...

命名空间 std 中不可寻址函数的基本原理是什么?

作者:user3188445 提问时间:7/2/2022

[namespace.std] 不允许获取命名空间中大多数函数的地址或引用。这是一个很大的陷阱,因为它似乎经常将标准库函数作为参数传递,即使这可能会停止工作,或者更糟的是,在不同的编译器上。std ...

松散的后期装订与严格的后期装订

作者:Géry Ogam 提问时间:8/8/2020

在阅读 Python 的执行模型文档时,我意识到 Python 的自由变量似乎没有严格的后期绑定属性,其中任何代码块中出现的名称绑定都可用于名称解析。事实上,执行: def f(): return...

为什么许多语言中的“file exists”方法对目录返回 true?

作者:Thomas Owens 提问时间:9/9/2008

我知道它在 PHP 中是这样做的,而且我很确定它在 Java 中是这样做的。我没有使用过最新版本的 .NET,所以我不会为它们说话。这似乎很尴尬,但我想知道这是否有根本原因。...

解包/打包操作员

作者:David542 提问时间:8/9/2023

我正在寻找实现打包/拆包操作员的各种方法。举个例子: *[1,2,3] --> 1,2,3 (one array scalar value unpacked to three values) *1,...

使用单个 null 参数调用 Java varargs 方法?

作者:pathikrit 提问时间:10/27/2010

如果我有一个 vararg Java 方法并且我调用 ,我有 和 as s。但是如果我调用 ,它本身是空的。为什么会这样?foo(Object ...arg)foo(null, null)arg[0]...

在自定义解释的编程语言中实现“this”/“self”

作者:kamkow1 提问时间:6/25/2022

我正在开发一个自定义解释器,以提供有趣的;) 到目前为止,我所拥有的是分配变量、定义和调用函数、数组、循环、if 块等...... 我已经开始在我的语言中添加 OOP 元素,但我在实现“this”/“...

为什么禁止通过子类访问私有静态成员?

作者:Géry Ogam 提问时间:4/8/2023

来自 MDN Web Docs: 私有静态字段有一个限制:只有定义私有静态字段的类才能访问该字段。这可能会导致在使用 时出现意外行为。在下面的示例中,当我们尝试调用时,指的是类(而不是类),因此会导...


共42条 当前第4页