language-lawyer 相关问题

有关编程语言和环境的正式或权威规范的复杂性的问题。

UML 操作“Classifier::directlyUsedInterfaces()”的 OCL 实现

在 UML 2.5.1 规范第 177 页的第 9.9.47 节“分类器操作”下,我们有以下操作定义: directRealizedInterfaces() :接口 [0..*]

回答 1 投票 0

为什么 Friendship 似乎可以通过 befriended 函数模板传递?

友谊不应该是传递性的。也就是说,我的朋友无法访问彼此的私人信息(除非他们也是朋友)。 但是,使用以下定义的函数模板...

回答 1 投票 0

clang 抱怨“goto”传递 constexpr 双重初始化,而 msvc 可以接受它

我正在开发一个UE插件,并使用这样的goto语句:(为了使其可重现,我将UE的东西变成std)我使用constexpr来替换MACRO,但它似乎引入了变量

回答 1 投票 0

是否必须在每个实例化时推断默认模板参数的类型?

有了这段代码,当 clang 抱怨时,GCC 和 MSVC 都对此感到满意。任何两个 lambda 必须具有不同的类型,这让我认为 clang“缓存”了默认 te 的类型...

回答 1 投票 0

我可以依赖 new[] 通常的工作方式吗?

阅读: 标量 `new T` 与数组 `new T[1]` 接受的答案表明 new T[n] 的行为如下(忽略对齐和 n = 0 的情况): 如果 n = 1: 分配 sizeof(T) 字节 致电 ct...

回答 1 投票 0

聚合初始化中使用的隐式转换运算符的重载解析

考虑以下设置: 结构体 MyInt { 模板 运算符 T() = 删除; 运算符 int(){ 返回 42; } }; 结构体 TestCAr { int arr[2]; }; 结构体 TestStdArr { ...

回答 1 投票 0

编译器是否允许“缓存”默认模板参数类型?

有了这段代码,当 clang 抱怨时,GCC 和 MSVC 都对此感到满意。任何两个 lambda 必须具有不同的类型,这让我认为 clang“缓存”了默认 te 的类型...

回答 1 投票 0

聚合初始化隐式转换运算符优先级

抱歉,标题相当糟糕,但我不确定如何简洁地描述问题。 考虑以下设置: 结构体 MyInt { 模板 运算符 T() = 删除; 欧...

回答 1 投票 0

为什么静态变量模板的特化会导致多重定义错误?

如本答案所示,如果单独翻译单元中的重复名称具有内部链接(声明为静态),则它们不会违反 ODR,因为它们实际上引用不同的实体。此外...

回答 1 投票 0

是否保证外部已检查/未检查上下文会影响在其内部创建的 lambda 的行为?

假设默认算术溢出(不)检查,以下代码 行动行动; 检查过 { 动作=数组=> Console.WriteLine(数组[0] + 数组[1]); } 变量项目...

回答 3 投票 0

OCL 关键字 'self' 和 UML Classifier::inheritedMember()

UML 2.5.1 规范的 PDF 文件第 176 页对此进行了定义: 分类器(第 9.9.4.7 节“操作”): •继承成员():NamedElement [0..*] 继承的成员

回答 1 投票 0

为什么“每个常量表达式应计算为...”而不是“每个计算的常量表达式应计算为...”?

n3301,6.6 常量表达式,p4(强调已添加): 每个常量表达式的计算结果应为可表示值范围内的常量 它的类型。 n3301,6.5.15 逻辑或运算...

回答 1 投票 0

UML ConnectorEnd 和约束“role_and_part_with_port”

此约束在 UML 2.5.1 规范的第 271 页上定义如下: 11.8.11.6 - 约束 角色和部分与端口 --- 如果 ConnectorEnd 引用 partWithPort,则该角色必须...

回答 1 投票 0

UML 端口和接口

我试图了解成员操作 Port::basicRequired() 和 Port::basicProvided() 在 UML 2.5.1 规范中是如何实现的。不幸的是,我只有初级的

回答 1 投票 0

C11 中的匿名结构和联合是否被错误描述?

C 标准中关于匿名结构和联合的说法: 6.7.2.1 第 13 页。 其类型说明符是结构说明符的未命名成员 没有标签称为匿名结构;一个联合国...

回答 1 投票 0

具有混合元素扩展的 XML 模式

简而言之,我的疑问是:在 W3C XML Schema 中扩展混合元素类型,我们是否必须显式声明 mix="true 扩展元素?或者这是否隐含地源自以下事实:

回答 1 投票 0

既然字符串文字被视为左值,为什么绑定左值引用必须是 const?

我知道已经有一些与此类似的主题(例如这个)。 本主题中给出的示例是这样的: std::string & rs1 = std::string(); 显然, std::string() 是一个 rv...

回答 4 投票 0

UML Class::nestedClassifier 和 Classifier::nestingClass

下图中红色矩形内的类和分类器之间的组合关联(第 236 页的 UML 规范 2.5.1 中的图 11.15 类)表明最终嵌套...

回答 1 投票 0

GCC 和 MSVC 接受“alignas”,而 Clang 拒绝它

我编写了以下使用 GCC 和 MSVC 编译的程序,但 Clang 拒绝了它。该计划是: int a[2]alignas(16)[5]; //GCC: 好的,Clang: 不,MSVC: 好的 演示 作为 p 的正确行为是什么?

回答 2 投票 0

Gcc 和 msvc 接受alignas,而 clang 拒绝

我编写了以下由 gcc 和 msvc 编译的程序,但 clang 拒绝了它。该计划是: int a[2]alignas(16)[5]; //GCC: 好的,Clang: 不,MSVC: 好的 演示 正确的行为是什么...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.