language-lawyer

language-lawyer

文章 0 浏览 7

需要在C++ 20功能模板中定位子句

在C ++ 20中,您可以以几种不同的方式编写约束功能模板: template concept Fooable = true; template requires Fooable void do_something(T&); // (…

漫漫岁月 2025-01-29 13:11:14 3 0

为什么可以减少std :: array :: end()?

我正在为容器类型创建方便的 display()功能模板。最后一个元素的输出与其他元素不同,因此我检查 myiterator!= -cont.cend(); 时。这适用于 std …

安静 2025-01-29 09:16:05 2 0

C++实例化点:要求或定义?

当函数模板被隐式实例化时,是声明还是所需模板的定义? 看来编译器只需要声明: template T f(); int g() { // Compiles OK, even though f's defini…

老街孤人 2025-01-29 05:05:05 1 0

类 /结构的成员的地址订购

C ++ 23草案规定,后来的结构或类的非静态数据成员必须具有更高的地址。 AFAIK较早的标准也需要部分,但是有一些规则,允许编译器重新排序这些数据成…

万劫不复 2025-01-29 04:20:15 1 0

为什么允许使用功能模板的私有类型的明确专业化?

https://godbolt.org/z/s5yh8e6b8 具有私有类型的明确专业允许类模板,但对于功能模板而言不允许使用? 假设我们有一个类: class pepe { struct lol…

凉城凉梦凉人心 2025-01-29 04:18:56 3 0

三元运算符适用于转换操作员的类,并删除构造函数会导致歧义

struct A { A(); A(int) = delete; operator int(); }; int main() { true ? A{} : 0; } 使用C ++ 20编译,Clang接受它,但是GCC和MSVC使用类似的错误…

千鲤 2025-01-29 01:33:49 2 0

优化和严格的混叠

我的问题是关于代码片段的问题,例如: #include int main() { double a = -50; std::cout << a << "\n"; uint8_t* b = reinterpret_cast(&a); b[7] &…

叹梦 2025-01-28 22:15:32 1 0

基于C&#x2B;&#x2B;初始化数组版本和编译器

In C++11 or higher regardless of compiler int myArray[10] = { 0 }; would initialize to all elements to zero.问题是,这也可以在C ++ 98中起作…

做个少女永远怀春 2025-01-28 21:11:52 1 0

放置在具有自动存储持续时间合法的常量变量上是新的吗?

以下代码是根据标准合法的吗? #include int main() { const int x = 3; new ((void *)&x) int { 15 }; } 在我看来,只要不使用对 x 的引用,就应该有…

魂牵梦绕锁你心扉 2025-01-28 15:26:42 4 0

是否保证在评估恒定表达式时会捕获所有形式的未定义行为

我遇到了以下索赔: 实际上,在评估恒定表达式时,需要捕获语言中的所有形式的UB(尽管不需要捕获标准库中的UB)。 只是运行时UB。 (强调我的) 我的…

乖乖兔^ω^ 2025-01-27 17:04:59 1 0

将setJMP和longJMP与本地JMP_BUF一起使用

如果本地 jmp_buf 实际上由寄存器而不是堆栈内存表示,那么 setJMP 或 longjmp 有可能导致内容的内容 setJmp 从 longjmp 返回时,本地 jmp_buf 是不确…

风向决定发型 2025-01-27 13:20:33 4 0

将函数模板移动到不同的翻译单元解决歧义错误

当我注意到将功能模板之一的定义转移到其他翻译单元时,我正在使用函数模板解决模棱两可的错误。以下是我尝试过的两个示例。第一个示例会产生模棱两可…

口干舌燥 2025-01-27 09:35:05 3 0

是非静态成员函数的指示。不被视为指针

我遇到 this 成员函数指针不是指针。指示非会员功能,包括静态成员函数,是指针。 上面的报价似乎表明指向非静态成员功能不是指针。 同样,我阅读在这…

烟沫凡尘 2025-01-27 08:53:38 2 0

编译器何时需要计算别名?

考虑以下代码: template struct computation { using type = /* something based on T that takes time to compile */; }; 现在考虑两个代码: using…

み青杉依旧 2025-01-27 05:11:22 4 0

这是“贪婪” &#x2B; =保证列表的行为?

我偶尔会使用“技巧”来扩展列表,例如自身的映射版本,以有效计算2: from operator import mul powers = [1] powers += map(mul, [2] * 10, powers)…

何必那么矫情 2025-01-27 04:28:46 4 0
更多

推荐作者

李珊平

文章 0 评论 0

Quxin

文章 0 评论 0

范无咎

文章 0 评论 0

github_ZOJ2N8YxBm

文章 0 评论 0

若言

文章 0 评论 0

南…巷孤猫

文章 0 评论 0

更多

友情链接

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文