问题标签 [std-pair]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
484 浏览

c++ - C ++对数据类型问题

我正在编写一个朋友推荐算法,其中一部分我必须使用std::pairC++ 中的数据类型存储 350 个随机友谊。我基本上使用邻接列表(实现为向量的向量)。我创建了一个存储数据类型的向量pair<int,int>。我从邻接列表中选择一个随机值并随机选择它的一个朋友,但是,即使我很确定我将数据类型作为对推送,但我无法遍历它。

可能的原因是什么?

添加了这个并且!神秘地解决了这个问题;

0 投票
3 回答
60511 浏览

c++ - C++ 向量对初始化

我有

我想让所有对初始化为-1,-1。

0 投票
2 回答
365 浏览

c++ - make_pair 类似于不可复制类的技巧

make_pair 可以在不提及类型的情况下创建对。我想对我的类使用相同的技巧,但它继承自 boost::noncopyable,因此无法编译:

有什么选择吗?我试着让 make_bit_writer 成为朋友,然后没有想法了。

0 投票
5 回答
16898 浏览

c++ - 从函数返回空的 std::pair

是否可以从函数返回一个空对?意思是,遵循函数原型的规则,但对中没有任何元素(例如NULL)。了解一对只是存在,所以我不知道这在概念上是否可行。如果有意义的话,我需要返回一个 NULL 或空的对。

例如,

不幸的是,提升对我来说是不可能的。

0 投票
2 回答
2122 浏览

c++ - 如何在我的头文件中声明一个常量对

GCC 报告错误:数字常量之前的预期标识符。

我需要在它声明的那一刻构造对象,因为它是 const,但我似乎无法获得正确的语法。

0 投票
2 回答
7013 浏览

c++ - 使用 std::vector 浏览向量>

我有以下向量:

如何使用迭代器浏览和打印向量的元素?

0 投票
3 回答
11500 浏览

c++ - find_if 和 std::pair,但只有一个元素

假设我有以下代码:

现在我只需要在其中搜索一个int元素,所以:

我该怎么做?

0 投票
1 回答
68 浏览

c++ - 在同一个迭代器中修改向量

假设我有以下向量:

然后我将它们初始化为 10 行:

现在,我需要在节点 5 或每个节点处修改我的向量,一种方法是:我从中获取备份,然后,erase然后push_back,但由于特定原因,我需要保持我的顺序vector,你有没有主意?

0 投票
3 回答
354 浏览

c++ - 排序运算符在 C++ 中不起作用

我在使用排序运算符时遇到了问题,因为我只需要对对中的第一个元素进行排序。代码很简单,但不起作用:

运算符定义在:

类型是

我正在尝试像这样对数组进行排序:

但问题是这是对第一个和第二个元素进行排序,我只想对第一个元素进行排序并保持第二个元素不变。有什么想法吗?

0 投票
1 回答
303 浏览

c++ - 与英特尔相比,GNU C++ 编译器在对向量进行排序时性能较差

我的程序中有一个对向量,我需要对其进行排序。比如:

我进行了一些测量,发现对于大小超过 16M 元素的向量,使用 Intel C++ 编译器编译时排序需要 3 秒,使用 GNU C++ 编译器编译时需要 25 秒。这对我来说似乎是一个极端的差异(使用 GNU 慢了 8 倍以上)。

你知道如何使用 GNU C++ 使这个程序更快吗?

我的配置是 Intel 12.1.5 和 GNU 4.7.1。不幸的是,我在用于程序运行的计算机上没有超级用户权限。

提前感谢您的帮助,丹尼尔。

编辑:优化标志 -O3 解决了这个问题,GNU C++ 现在需要 3 到 4 秒。感谢您的提示,我很惭愧,我自己还没有弄清楚:(。所以,我希望这篇文章有一天能帮助别人:)。

仅供参考,我没有在我的测量中指定任何优化标志(也许 -O2 是 Intel 和 GNU 的默认值?).