c++11相关内容

C++ 模板类型定义

我有课 模板类矩阵{//....}; 我想创建一个 typedef,它创建一个 Vector(列向量),它等效于大小为 N 和 1 的 Matrix.类似的东西: typedef 矩阵;向量 N; 这会产生编译错误.以下创建了类似的东西,但不完全是我想要的: 模板类向量:public Matrix{ }; 是否有解决方案或不太昂贵的解决方法/最佳实践? ..
发布时间:2022-01-30 16:48:15 C/C++开发

当涉及 std::function 或 lambda 函数时,C++11 不推断类型

当我定义这个函数时, 模板设置测试(常量集&输入){返回输入;} 我可以在代码的其他地方使用 test(mySet) 调用它,而无需显式定义模板类型.但是,当我使用以下功能时: 模板设置过滤器(常量集&输入,函数比较){设置转帐;for(auto it = input.begin(); it != input.end(); it++) {如果(比较(*它)){ret. ..
发布时间:2022-01-30 16:43:24 C/C++开发

我可以用移出的对象做什么?

该标准是否准确定义了一个对象一旦被移出后我可以对它做什么?我曾经认为你可以对移动对象做的所有事情就是破坏它,但这还不够. 以标准库中定义的函数模板swap为例: 模板无效交换(T& a, T& b){T c = std::move(a);//第 1 行a = std::move(b);//第 2 行:赋值给移动对象!b = std::move(c);//第 3 行: ..
发布时间:2022-01-30 16:38:07 C/C++开发

什么是 std::move(),什么时候应该使用它?

这是什么? 它有什么作用? 什么时候使用? 好的链接表示赞赏. 解决方案 维基百科页面关于 C++11 R 值引用和移动构造函数 在 C++11 中,除了复制构造函数,对象还可以有移动构造函数. (除了复制赋值运算符之外,它们还有移动赋值运算符.) 如果对象具有“右值引用"类型(Type &&),则使用移动构造函数而不是复制构造函数. std::move() 是一种类 ..
发布时间:2022-01-30 16:33:31 C/C++开发

什么是T&&(双与号)在 C++11 中是什么意思?

我一直在研究 C++11 的一些新特性,我注意到其中一个是声明变量时的双 & 符号,例如 T&&变量. 首先,这个野兽叫什么?我希望 Google 允许我们搜索这样的标点符号. 具体是什么意思? 乍一看,它似乎是一个双重引用(就像 C 风格的双指针 T** var),但我很难考虑它的用例. 解决方案 它声明了一个 右值参考(标准提案文档). 这里是rvalue的介绍 ..
发布时间:2022-01-30 16:31:48 C/C++开发

什么是聚合和 POD,它们如何/为什么特别?

此常见问题解答是关于聚合和POD的,涵盖以下材料: 什么是聚合? 什么是POD(普通旧数据)? 它们有什么关系? 它们有什么特别之处,为什么特别? C++11 有哪些变化? 解决方案 如何阅读: 这篇文章比较长.如果您想了解聚合和 POD(普通旧数据),请花时间阅读.如果您只对聚合感兴趣,请阅读第一部分.如果您只对 POD 感兴趣,那么您必须首先阅读聚合的定义、含义和示 ..
发布时间:2022-01-30 15:54:50 C/C++开发

Fedora 28/GLIBC 2.27 libm.so.6 logf() 和 powf() c++

我相信其他 Fedora 28 用户会知道,操作系统的 glibc 最近更新为 glibc 2.27.除了许多其他功能之外,2.27 还添加了 logf() 和 powf() 的新实现.这导致我的应用程序无法在具有较旧 glibc(例如 Debian)的发行版上运行.在 Debian 上调用应用程序时,会产生以下错误: ... libm.so.6 版本 GLIBC-2.27 未找到(./ap ..
发布时间:2022-01-24 23:26:38 服务器开发

在 Debian 上安装 gcc 4.8

我想开始尝试一些较新的 C++11 功能,似乎最好的支持是 gcc 4.8,而 Squeeze 附带 4.4.5. 但是,我不想对我当前的设置造成任何“损害".让 both 版本的 gcc 并排运行的最佳方法是什么?我主要担心大量依赖项,将它们全部纳入我当前的系统可能会使其不稳定. 有没有人设法做到这一点,涉及的步骤是什么? 如果做不到这一点,我可能会创建一个 VM 并在其下运行 ..
发布时间:2022-01-24 22:46:14 其他开发