问题标签 [std]

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 投票
7 回答
5853 浏览

c++ - 线程安全的 C++ std::set 支持从多个线程添加、删除和迭代器

我正在寻找类似于 Java 中的 CopyOnWriteSet 的东西,一个支持 的集合addremove以及iterators来自多个线程的某种类型。

0 投票
4 回答
13003 浏览

c++ - C++ std::system 'system' 不是 std 的成员

我在编译 C++ 程序时收到错误消息,其中的行从“std::system(SomeString)”调用。该程序是 3 年前编译的,但今天编译时,我收到一条错误消息,指出“系统”不是“标准”的成员。是否有一些我必须导入才能使用 std::system 的内容,是否已被放弃,或者是否已将其移至另一个头文件。

0 投票
2 回答
1199 浏览

c++ - 使用 C++ 向量而不是 C 数组的性能损失

在 C++ 中使用标准库中的向量而不是 C 中的数组是否会降低性能?

0 投票
41 回答
1026963 浏览

c++ - 为什么是“使用命名空间标准;” 被认为是不好的做法?

其他人告诉我,using namespace std;用代码编写是错误的,我应该直接使用std::coutand std::cin

为什么被using namespace std;认为是不好的做法?它是效率低下还是有可能声明模棱两可的变量(与std命名空间中的函数具有相同名称的变量)?它会影响性能吗?

0 投票
2 回答
1192 浏览

c++ - 访问嵌套对

要拆开一对,可以做到以下几点

如何使用不同容器的组合,如何访问嵌套对?

例如,当我想将向量划分为包含在补充地图中的项目和未包含在补充地图中的项目时,我使用了以下内容:

现在我有第二个问题 - 在应用程序运行期间,user_info 的状态布尔值可以更改,稍后我想用状态布尔值为 true 的项目重新分区向量,而不仅仅是包含在补充地图中.

但是,我似乎在访问嵌套对的第二项时遇到了问题。

我尝试了以下方法,但似乎无法访问嵌套对!

0 投票
5 回答
55604 浏览

c++ - std::string 是如何实现的?

我很想知道 std::string 是如何实现的,它与 c 字符串有何不同?如果标准没有指定任何实现,那么任何带有解释的实现都会很好地满足标准给出的字符串要求?

0 投票
10 回答
120395 浏览

c++ - 如何在标准字符串中搜索/查找和替换?

有没有办法用另一个字符串替换所有出现的子字符串std::string

例如:

0 投票
8 回答
1491 浏览

c++ - c ++ std向量 - 无效的迭代器问题

我有一个标准的指针向量。

在什么情况下,这个向量的迭代器可能会失效?

我有理由相信,当一个对象被删除时,任何引用它的向量迭代器都会因此失效。然而,这对我来说似乎不正确。我确实相信这将是 Managed .NET 中容器的标准行为,但在 c++ 中这对我来说似乎不合适。

这应该使 Iterator It 无效吗?在我看来,它不应该,但后来我遇到了一个难以调试的问题!(我害怕我的解决方法——通过整数索引遍历向量。(这很好用......我只是害怕为什么上面会导致失效问题)。

在此先感谢您的时间。

编辑:感谢您的建议。普遍的共识是上面的代码是危险的,但它不会使迭代器失效。我相信我在使用 Visual Studio 2008 调试器时遇到了错误,因为第二天打开项目后,这个无效问题就消失了。所以 - 与计算机中的许多东西一样,如果似乎没有其他东西起作用,请尝试重置它。

0 投票
6 回答
37802 浏览

c++ - 为什么我不能将引用存储在 C++ 中的`std::map` 中?

我知道引用不是指针,而是对象的别名。但是,我仍然不明白这对作为程序员的我到底意味着什么,即引擎盖下的引用是什么?

我认为理解这一点的最好方法是理解为什么我不能在地图中存储参考。

我知道我需要停止将引用视为语法糖而不是指针,只是不知道如何:/

0 投票
2 回答
6742 浏览

c++ - std::map::iterator 在增量时使程序崩溃

什么可能导致这种情况?

这是堆栈跟踪:

这是代码:

编辑:下一个问题是相关的,所以我不会提出一个全新的问题。我会保持原样接受答案。我只需要知道一些事情。在函数调用之后,我有两个迭代器,一个是主迭代器,一个在主迭代器内。它们都与同一张地图有关。好吧,里面的那个都坏了,主循环停止迭代。

这是代码。

这是开始布局:

这是 SetupChars():

这就是发生的事情:

最后编辑:我想通了。我只需要新迭代器的原始地图副本。