language-lawyer

language-lawyer

文章 0 浏览 7

“易失性限制”指针有实际用途吗?

我可以看到 const volatile 限定变量的实际用途,就像 const volatile uint64_t seconds_since_1970; 底层硬件机制每秒更新该值一样,但该变量在(可…

呢古 2024-12-28 11:48:29 7 0

当不执行任何操作时是否可以使用虚拟左值?

考虑以下 C99 函数: void port_pin_set(const bool value, const uint8_t pin_mask) { if (value) { PORT |= pin_mask; } else { PORT &= ~pin_mask;…

逆光飞翔i 2024-12-27 22:34:21 5 0

C++11 中的 POD 和继承。 struct的地址==第一个成员的地址吗?

(我编辑了这个问题以避免分心。在任何其他问题有意义之前,需要先解决一个核心问题。向现在答案似乎不太相关的任何人致歉。) 我们设置一个具体的例…

尝蛊 2024-12-27 01:42:20 4 0

对R中事物类型的全面考察; “模式”和“类”和“类型”;不足

R 语言让我很困惑。实体有模式和类,但即使这样也不足以完全描述实体。 这个答案说 在 R 中,每个“对象”都有一个模式和一个类。 所以我做了这些实验…

蹲墙角沉默 2024-12-26 15:07:14 4 0

通过联合进行常量转换是否是未定义的行为?

与 C++ 不同,C 没有 const_cast 的概念。也就是说,没有有效的方法将 const 限定指针转换为非限定指针: void const * p; void * q = p; // not good…

最美不过初阳 2024-12-26 13:47:04 7 0

当“default:”标签放在大括号外面时,复合 switch 语句中的局部变量是否会被初始化?

通常,当使用 switch 语句时,您不能定义和初始化复合语句的局部变量,例如 switch (a) { int b = 5; /* Initialization is skipped, no matter what …

旧人哭 2024-12-25 12:12:20 2 0

返回包含数组的结构体

以下简单代码在 gcc 4.4.4 下出现段错误, #include typedef struct Foo Foo; struct Foo { char f[25]; }; Foo foo(){ Foo f = {"Hello, World!"}; r…

泪眸﹌ 2024-12-25 09:31:51 5 0

实现是否应该防止逗号过载?

例如,uninitialized_copy 在标准中定义为: 效果: for (; 第一个 != 最后一个; ++结果, ++第一个) ::new (static_cast(&*结果)) 类型名 iterator_tr…

写下不归期 2024-12-23 18:49:43 6 0

在调用析构函数之前对象的生命周期就结束了吗?

我不明白这一点: 3.8/1 “类型 T 的对象的生命周期在以下情况结束: — 如果 T 是具有非平凡析构函数 (12.4) 的类类型,则析构函数调用 开始,或者—…

盛装女皇 2024-12-22 09:05:21 7 0

关于指向非静态类成员的指针的澄清

当我需要指向类成员的指针时,我会执行以下操作 struct MyStruct { int foo(); }; int (MyStruct::*p)() = &MyStruct::foo; 我的问题是为什么我需要使…

迷乱花海 2024-12-22 01:19:23 4 0

模板的限定名称和非限定名称查找的不同行为

这段代码应该如何表现?如果我在 call_read() 函数中使用限定名称,它会调用通用函数并忽略我的重载;如果我使用非限定名称,它会首先调用重载,然后…

你在看孤独的风景 2024-12-21 11:57:25 8 0

模板特化的友元声明失败

以下包含朋友声明的代码失败并显示错误(请参阅 http://ideone.com/Kq5dy): template void foo() {} template class A { void foo(); friend void f…

为你鎻心 2024-12-21 07:45:37 5 0

理解令人困惑的 typedef 语法

考虑以下代码片段, typedef int type; int main() { type *type; // why is it allowed? type *k ;// which type? } 我收到错误'k' is not statement…

凶凌 2024-12-21 02:38:41 4 0

当 C(或 C++)中的“unsigned long”和“unsigned int”都是 32 位宽时,使用它们是否存在可观察到的差异?

我使用的是带有编译器的 MPC56XX(嵌入式系统),其 int 和 long 均为 32 位宽。 在所需的软件包中,我们对 32 位宽类型进行了以下定义: typedef sig…

请止步禁区 2024-12-20 12:45:13 6 0

函数 try catch 语法和 main

一个鲜为人知但几乎从未使用过的 C++ 功能给出了一个声明: void foo(); 一个可能的合法定义可能是: void foo() try { throw 42; } catch(...) { } …

猫七 2024-12-19 23:51:05 4 0
更多

推荐作者

牛↙奶布丁

文章 0 评论 0

COSO

文章 0 评论 0

落叶

文章 0 评论 0

暗地喜欢

文章 0 评论 0

qq_i8qOEG

文章 0 评论 0

qq_Wl4Sbi

文章 0 评论 0

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