C ++ 14是2014年批准的C ++标准的名称。它基于以前的C ++ 11标准,改进了核心语言和标准库并添加了一些功能。
在C++中,相比于final或者非虚函数,CRTP有什么优势?
我是学习现代 C++ 编程的新手。我读过很多博客和问题,但没有找到这个问题的答案。在C++中,相比于final或者非虚函数,有什么优势...
我正在尝试实现一个具有可以处理不同类型的静态成员函数的类模板。我的代码如下所示(非常简单的示例): #包括 结构体 Foo { 特...
我正在尝试实现一个具有可以处理不同类型的静态成员函数的类模板。我的代码如下所示(非常简单的示例): #包括 结构体 Foo { 你...
错误:模板成员函数的外线定义与 Foo 中的任何声明都不匹配
我正在尝试实现一个具有可以处理不同类型的静态成员函数的类模板。我的代码如下所示(非常简单的示例): #包括 结构体 Foo { 特...
我有几个重载函数,如下所示: 模板 结构点{ std::enable_if_t,T> x,y; }; //...
我有以下代码,它接受一个值并返回 0 和该值之间的随机值: 模板 类型名 std::enable_if::value>::type
给出以下代码: 结构体窗口{ 无效显示(); //东西 }w1,w2,w3; 结构小部件{ 无效显示(); //东西 }w4,w5,w6; 结构工具栏{ 无效显示(); //东西 }t1,t2,...
GCC 13.1 和 GCC 13.2 构造字符串的编译结果不同
我有以下代码,可以在 GCC 13.2 上正常编译。同事在GCC 13.1上无法编译。即使使用 -Wall -Wextra,新版本也能正常编译。我认为 GCC 13.2 更好,更 c...
我试图了解在 malloc() 分配的缓冲区中放置 new 的结果上调用 free() 是否有效。 考虑以下。这段代码是否表现出任何未定义的行为? (...
如何在编译时获取 C++ 表达式的类型(即 constexpr'ly)?
我想在编译时使用类型的名称。例如,假设我写了: constexpr size_t my_strlen(const char* s) { const char* cp = s; while(*cp != ' ') { cp++...
我们目前正在开发一个嵌入式系统,其中无法使用 C++ 异常,因此在编译器/链接器设置中禁用了对它们的支持。在此项目中,我们遇到 IAR 链接器错误...
在 SFINAE 上下文中编写 allocator_traits::value_type 似乎是测试类型 T 是否实际上是分配器的可行方法。然而,这并不是特别优雅,我一直...
boost::flyweights::intermodule_holder 初始化失败,出现 interprocess_exception 且权限被拒绝
我不知道为什么会失败。 Shared_memory_object 应该是唯一的,因为它只能从同一进程内访问。 当前目录是可写的,$TMPDIR 也是可写的,/tmp/ 也是可写的 ...
我正在实现一个日志功能,它会记录代码的行号。代码片段如下: #包括 使用命名空间 std; char m_buffer[500]; 模板<
C++20 'char8_t' 与我们旧的 'char' 相同吗?
在CPP参考文档中, 我注意到 char 字符类型足够大,可以表示任何 UTF-8 八位 代码单元 (C++14 起) 对于 char8_t 输入 UTF-8 字符
我使用别名来引用两个地图之一: 地图&map_alias = use_map_a?地图a:地图b; 但随后更改了map_b以使用std::greater作为其比较器(而不是defa...
我使用别名来引用两个地图之一: 地图&map_alias = use_map_a?地图a:地图b; 但随后更改了map_b以使用std::greater作为其比较器(而不是defa...
简介 在 C++11 中,可以声明一个函数,例如 自动 times2(double num) -> double; // A 并将其定义为 double times2(double num) { // B 返回数字*2; } A、B 对也可以是
我试图理解 C++ 中的可变参数模板,但我迷失在以下示例中:想象一个函数 foo(T, T, T, T) ,它接受相同类型 T 的可变参数数量并进行转换
如果我为 std::cin >> menu; 输入数字 2,则 std::cin >> menu; 之后的代码不会执行。 一开始,我认为问题出在函数上,但代码甚至没有转到开关(...