language-lawyer

language-lawyer

文章 0 浏览 7

如何使用模板表达成员之间的约束?

假设我有一个包含一堆成员的结构: struct foo { int len; bar *stuff; }; 碰巧 stuff 将指向一个 bar 数组,长度为 len。我想将其编码为 stuff 的类…

为人所爱 2025-01-05 07:30:14 3 0

标准措辞在哪里允许在函数声明中使用不完整类型,但在函数定义中要求完整类型?

我最近发现非定义函数声明中的参数类型可能是不完整类型。这非常令人兴奋。 class A; class B { B(A a); // Legal! Wow! }; 仅在定义时才要求类型完整…

霊感 2025-01-04 19:08:22 2 0

C++11 是否会更改显式调用 std::swap 的行为以确保找到位于 ADL 的交换区(如 boost::swap)?

背景 考虑以下代码: #include namespace ns { struct foo { foo() : i(0) {} int i; private: foo(const foo&); // not defined, foo& operator=(con…

怪我太投入 2025-01-03 06:58:54 7 0

NaN 到 Bool 的转换:True 还是 False?

C++ 规范或 IEEE float 规范的哪一部分规定 NaN 值应转换为 true 而不是 false? 如果我查看 C++ 标准部分 4.12 布尔转换,它会显示: 零值、空指针值…

逆流 2025-01-03 00:33:16 2 0

为什么现有的函数参数不能用于计算其他默认参数?

我正在编写一个函数 foo(),它接受 2 个 const char* 作为参数,pBegin 和 pEnd。 foo() 被传递一个以 null 结尾的字符串。默认情况下,pEnd 指向字符…

紫竹語嫣☆ 2025-01-02 22:40:06 8 0

是否允许在 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 6 0

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

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

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

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

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

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

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

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

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

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

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

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

序列点和评估顺序

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

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

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

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

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

表达式的定义行为

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

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

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

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

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

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

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

送舟行 2024-12-28 12:26:34 3 0
更多

推荐作者

牛↙奶布丁

文章 0 评论 0

COSO

文章 0 评论 0

落叶

文章 0 评论 0

暗地喜欢

文章 0 评论 0

qq_i8qOEG

文章 0 评论 0

qq_Wl4Sbi

文章 0 评论 0

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