language-lawyer

language-lawyer

文章 0 浏览 6

是否允许在 Base 实例上写入 Derived 实例?

可以说,代码 class Derived: public Base {....} Base* b_ptr = new( malloc(sizeof(Derived)) ) Base(1); b_ptr->f(2); Derived* d_ptr = new(b_ptr…

无语# 2025-01-02 06:56:33 2 0

放弃函数参数的常量是否是未定义行为?

想象一下,我有这个 C 函数(以及头文件中的相应原型), void clearstring(const char *data) { char *dst = (char *)data; *dst = 0; } 上面的代码…

月寒剑心 2025-01-01 17:19:56 4 0

C++03。在编译时测试右值与左值,而不仅仅是在运行时

在 C++03 中,Boost 的 Foreach 使用这种有趣的技术,可以检测在运行时表达式是左值还是右值。 (我发现通过这个StackOverflow问题:C++03中的Rvalues…

怕倦 2025-01-01 07:09:42 4 0

块范围静态变量或线程存储持续时间变量初始化失败的原因是什么?

在回答这个问题并且在标准论文中没有找到令人满意的答案后,我开始思考。该标准规定了上述变量的以下 wrt 初始化: §6.7 [stmt.dcl] p4 [...] 否则,…

横笛休吹塞上声 2025-01-01 02:44:48 2 0

通过 bool 进行 char 往返转换会发生什么?

C++ 语言定义对于将 char 转换为 bool 然后再次转换回 char 有何承诺? char original = 255; bool next = original; char final = next; 另外,在这…

风月客 2025-01-01 01:41:47 5 0

序列点和评估顺序

我正在阅读 K&R,在评估像 a[i]=i++; 这样的表达式时,我遇到了这个关于行为不确定性的例子; 6.5.2 美元的 C99 规格说明了这一点 在上一个和下一个序…

不即不离 2024-12-29 18:01:45 3 0

您能设计一个简单的宏来在使用时有效地产生编译器错误吗?

我正在故意寻找一个奇怪的宏定义:我需要一个以这种方式定义的宏,如果该宏在编译代码中有效使用,编译器将毫无疑问地产生错误。 背景:由于C11引入…

溺孤伤于心 2024-12-29 10:47:33 2 0

表达式的定义行为

C99 标准表示为 6.5.2 美元。 在上一个和下一个序列点之间,对象应具有其存储值 通过表达式的求值最多修改一次。此外,先验值 应只读以确定要存储的值…

风月客 2024-12-29 09:48:43 2 0

SFINAE 能否检测私人访问违规行为?

我想知道如果我测试某个类的某个成员并且该成员是私有的,sfinae 会做出什么反应?它会严重出错还是会说“ok”或者会以 sfinae 方式出错?…

一个人练习一个人 2024-12-28 18:15:40 3 0

glob 是否应该使用 GLOB_MARK 将 / 附加到符号链接到目录结果?

glob 函数有一个 GLOB_MARK 标志,指定将斜杠附加到目录结果中: GLOB_MARK 作为与模式匹配的目录的每个路径名都应附加一个 。 (来源:http://pubs.o…

送舟行 2024-12-28 12:26:34 2 0

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

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

呢古 2024-12-28 11:48:29 3 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 2 0

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

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

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

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

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

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

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

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

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