语言设计 问答列表

为什么切片和范围上限是独占的?

作者:wap26 提问时间:7/6/2012

我知道当我使用 or 时,该值不包括在范围或切片中。range([start], stop[, step])slice([start], stop[, step])stop 但为什么它会以这种方式工...

Typescript 文本类型和加法赋值运算符

作者:falinsky 提问时间:4/14/2020

对于 的文字类型,无论我们使用常规加法运算符(例如)还是加法赋值运算符(例如):typescripta = a + ba += b type SomeLiteralType = 1; let a:...

为什么在声明移动操作时删除复制操作?

作者:KnowItAllWannabe 提问时间:8/14/2014

当类显式声明复制操作(即复制构造函数或复制赋值运算符)时,不会为该类声明移动操作。但是,当类显式声明移动操作时,复制操作将声明为已删除。为什么存在这种不对称性?为什么不直接指定如果声明了移动操作,则不...

为什么没有||= 或 &&= 运算符?

作者:George Duckett 提问时间:6/14/2011

我们为所有逻辑运算符、移位运算符、加法运算符和所有乘法运算符提供了等效的赋值运算符。 为什么逻辑运算符被排除在外? 有没有很好的技术理由来解释为什么它很难?...

为什么 std::unordered_map 的 KeyEqual 不被其运算符==使用?

作者:Trams 提问时间:9/16/2023

在下面的代码中,我定义了模板参数和 for .我希望输出是,但实际上是.为什么会这样?是因为不用于比较地图吗?HashKeyEqualunordered_map1 1 1 11 1 0 1std::e...

是否存在具有以下功能的编程语言?

作者:hatcyl 提问时间:7/21/2016

是否有一种语言可以支持以下概念,或者是否有一种模式可以实现与现有概念类似的功能? 概念 我想定义具有以下属性的:、、、;其中 和 .RectangleLengthHeightAreaPerimet...

为什么ranges::for_each返回函数?

作者:康桓瑋 提问时间:9/28/2023

作为标准的遗留返回函数只需要根据 [alg.foreach] 满足 Cpp17MoveConstructible:std::for_eachFunction template<class Input...

为什么可变长度数组不是 C++ 标准的一部分?

作者:Andreas Brinck 提问时间:12/11/2009

在过去的几年里,我很少使用C语言。当我今天读到这个问题时,我遇到了一些我不熟悉的 C 语法。 显然,在 C99 中,以下语法是有效的: void foo(int n) { int values[...

让复制和直接初始化的行为不同的动机是什么?

作者:Luchian Grigore 提问时间:6/27/2012

有点关系 为什么调用复制构造函数而不是转换构造函数? 初始化有两种语法:直接初始化和复制初始化: A a(b); A a = b; 我想知道他们有不同的定义行为的动机。对于副本初始化,涉及一个...

为什么 std::make_shared&lt;T&gt; 不是 std::shared_ptr&lt;T&gt; 的静态函数,即 std::shared_ptr&lt;T&gt;::make?

作者:Peter Fletcher 提问时间:9/19/2023

这是一个关于理解设计决策的问题,而不是对错误或缺陷的抱怨。 在 C++ 标准库中,创建共享指针及其对象的函数是一个直函数, template< class T, class... Args> st...


共42条 当前第2页