c++11相关内容
所以,经过一番研究,我写了一个队列.它使用固定大小的缓冲区,因此它是一个循环队列.它必须是线程安全的,我试图让它无锁.我想知道它有什么问题,因为这些事情我自己很难预测. 这是标题: 模板类 LockFreeQueue{上市:LockFreeQueue(uint buffersize) : buffer(NULL), ifront1(0), ifront2(0), ibac
..
编译: 模板 结构相同{static constexpr bool 值 = std::conditional 给我这个编译器错误: error: 模板参数的数量错误(1,应该是 2 或更多) 问题在于 isSame 有一个空的 Args 参数包,所以 isSame 实际上变成了 isSame 与签
..
TL;DR 在多处理器/多核引擎上,可以在多个执行单元上调度多个 RT SCHED_FIFO 线程.因此优先级为 60 的线程和优先级为 40 的线程可以同时运行在 2 个不同的内核上. 这可能违反直觉,尤其是在模拟嵌入式系统时(通常像今天一样)在单核处理器上运行并依赖严格的优先级执行. 请参阅此帖子中的我的其他答案以获取摘要 原始问题描述 即使使用非常简单的代码来让
..
我正在尝试调试一个简单的 c++ 程序,但 gdb 找不到库的目标文件(或没有可用的调试信息),而且它似乎也无法找到我的可执行文件的调试符号. 我在 OSX 10.5.8 上,使用 macports,我用 编译我的代码 g++-mp-4.5 -Wall -pedantic -std=c++0x -g -ggdb -I/opt/local/include -L/opt/local/lib
..
我用的是苹果的gdb,版本如下 GNU gdb 6.3.50-20050815(Apple 版本 gdb-1344)(2009 年 7 月 3 日星期五 01:19:56 UTC)版权所有 2004 Free Software Foundation, Inc.GDB 是自由软件,受 GNU 通用公共许可证保护,您是欢迎在某些条件下更改和/或分发它的副本.键入“显示复制"以查看条件.GDB 绝对没
..
应用设置:我有使用以下 3rd 方库的 C++11 应用程序: 提升 1.51.0 cppnetlib 0.9.4 jsoncpp 0.5.0 应用程序代码依赖于几个内部共享对象,它们都是由我的团队开发的(针对这些共享对象执行经典的链接时间,不使用dlopen等) 我使用的是 GCC 4.6.2,使用 GDB 7.4 和 7.6 时出现问题. 操作系统 - Red Ha
..
std::unique_ptr 很好,但我发现在 DDD 或 gdb. 我正在使用作为 gcc 一部分的 gdb 漂亮打印机(例如,/usr/share/gcc-4.8.2/python/libstdcxx/v6/printers.py).这是可读性的一大胜利,例如: $ print pTeststd::unique_ptr包含 0x2cef0a0 但是,取消引用指针不起
..
在我的代码中,我有一个 std::unordered_set,我需要将数据移动到 std::vector 中.我在获取数据时使用 std::unordered_set 以确保在转换为 std::vector 之前只存储唯一值.我的问题是如何最有效地将内容移动到 std::vector ?移动数据后我不需要 std::unordered_set .我目前有以下: std::copy(set.beg
..
与容器的 find 方法相比,使用 C++11 的 std::find 有什么优势吗? 在 std::vector (没有 find 方法)的情况下 std::find 使用是一些智能算法还是简单地迭代每个元素的简单方法? 在 std::map 的情况下,您似乎需要传递一个 std::pair,即 value_typestd::map 的代码>.这似乎不是很有用,因为您通常希望找到键或
..
下面的代码可以在 G++ 4.7.2 中正常编译: #include std::tupleX; 但是,使用 clang++ 3.2,会产生以下错误: 错误:数组初始化器必须是初始化器列表. 如果我从元组声明中删除 float 类型,错误就会消失.上面的元组声明有效吗? ($CXX -std=c++11 -c file.cpp)
..
我有以下代码: class TR_AgentInfo : public tuple(*this);}void setAgentId(const long long& AgentId) { get(*this) = AgentId;}string getAgentIp() const { return get(*this);}void setAgentIp(const string&
..
我需要编写一个函数来将元组转换为字节数组.元组的类型可能包括int、long、double、std::string、char*等.元组的大小和类型是任意的,比如 std:tuplet1("abc", 1, 1.3); 或 std:tuplet2("abc", 1, 2, 1.3, 1.4, "你好"); 我想使用这些元组作为输入,字节数组作为返回值.我该怎么办 ? 解决方案 还有精
..
给定一个可变参数模板 Types...,我想为包中的每个类型存储 A.这可以在 A 的元组中完成,但我需要以编程方式导出所述元组的类型. 在 c++11/14/17 中甚至可能发生这样的事情吗? 模板A类{};模板B类{//Types 中每种类型的 A 元组...std::tuple, A, ...>数据;};
..
我正在 C++11 中实现一个多索引映射,我希望针对特定功能对其进行优化.我目前正在尝试解决的问题是不要多次存储关键元素.但是让我解释一下. 问题源于对直方图进行排序以将它们叠加在不同的组合中.直方图有名称,可以拆分为标记(属性). 以下是我希望我的属性地图具有的功能: 能够以任意顺序循环属性; 能够为每个属性返回具有唯一值的容器; 按属性到达的顺序累积属性值,但能够在地图填
..
我尝试用 gcc4.7 编译以下代码片段 向量>vp = {{1,'a'},{2,'b'}};//对于对向量,它就像一个魅力.向量>vt = {{1,0.1,'a'},{2,4.2,'b'}}; 但是,对于元组的向量,编译器会抱怨: 错误:从初始化列表转换为“std::tuple"将使用显式构造函数“constexpr
..
我最近遇到了这个难题,终于能够找到一个 hacky 答案(使用索引数组),并想分享它(答案如下).我确信有使用模板递归的答案和使用 boost 的答案;如果您有兴趣,请分享其他方法来做到这一点.我认为将这些全部放在一个地方可能会使其他人受益,并且对于学习一些很酷的 C++11 模板元编程技巧很有用. 问题:给定两个长度相等的元组: auto tup1 = std::make_tuple(1
..
我有一个 std::size_t 类型的变量 i 和一个 std::tuple 类型的元组.我想获取元组的 i-th 元素.我试过这个: //bindings... 是 const T&... 类型auto bindings_tuple = std::make_tuple(bindings...);自动绑定 = std::tuple_element(binding
..
C++11 元组很好,但它们对我来说有两个巨大的缺点,通过索引访问成员是 不可读 难以维护(如果我在元组中间添加一个元素,我就完蛋了) 本质上我想要实现的是这个 tagged_tuple 获取记录();{/*...*/}//然后在别的地方std::cout
..
是否可以使用模板元编程将任何结构或类转换为元组? 例如: struct Foo{字符 c;诠释我;std::string s;};typedef std::tuple 如果有一些模板代码会自动为我生成 Foo_Tuple,那就太好了. 回答 这对于这样一个简单的案例来说是多余的,但对于更复杂的案例(例如 ORM 或任何需要编写大量样板代码,而仅仅模板或宏不足以完成任务),
..
假设我想在 tuple 中存储三种类型:int、float 和 std::vector 如果我抛开后续界面的事情,这样做 元组>吨; 和这个有什么不同 元组, int, float>吨; 由于将 tuple 实现为可变参数基类,我希望生成的类有一个不同的布局,但 在有什么办法?在将类型放入 tuple
..