在基元类型指针之间进行强制转换
作者:Luchian Grigore 提问时间:2/8/2013
以下定义是否明确: char* charPtr = new char[42]; int* intPtr = (int*)charPtr; charPtr++; intPtr = (int*) ch...
语言 - 律师 问答列表
作者:Luchian Grigore 提问时间:2/8/2013
以下定义是否明确: char* charPtr = new char[42]; int* intPtr = (int*)charPtr; charPtr++; intPtr = (int*) ch...
作者:Fedor 提问时间:8/5/2021
请考虑下面的简单示例,其中函数返回一个带有私有析构函数的类对象,并且必须进行强制返回值优化 (RVO):barA class A { ~A() = default; }; A bar() { ret...
作者:Fedor 提问时间:11/3/2021
以下程序抛出,然后捕获异常:nullptrint* #include <iostream> int main() { try { throw nullptr; } catch(int*) ...
作者:Fedor 提问时间:12/19/2021
在以下示例中,返回不完整类型的函数被标记为已删除:f()A struct A; A f() = delete; 它被 GCC 接受,但在 Clang 中不接受,它抱怨: error: inco...
作者:Amir Valizadeh 提问时间:2/25/2023
这个问题在这里已经有答案了: 是否有一些有意义的统计数据可以证明未定义有符号整数算术溢出是合理的? (4 个答案) 为什么由于计算导致的符号溢出仍然是 C++20 中的未定义行为 (1 答案) 9个月...
作者:zwhconst 提问时间:8/15/2023
在一个大型项目的头文件中,我必须在调用站点之前转发声明一个函数模板。代码可以归结为: //H1.h #pragma once template <typename> void f(); inl...
作者:Alan 提问时间:11/8/2023
我注意到带有 C++20 的 msvc 允许通过字符串文字初始化数组,但 gcc 和 clang 都拒绝它。演示std::string #include <string> int main() { ...