问题标签 [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 回答
10543 浏览

c++ - 为什么 std::string.find(text,std::string:npos) 不返回 npos?

我正在一个字符串中进行一系列搜索,沿着这条线的某个地方会丢失一个字符串,我的一组搜索应该会失败。

我曾预计,一旦位置达到 std::string::npos 它会留在那里,但事实并非如此。将 std::string::npos 传递给 std::string.find 似乎再次从头开始搜索

为什么不表示字符串的结尾?

更新:目的是按顺序搜索一系列字符串,并在最后检查结果

0 投票
3 回答
426 浏览

c++ - 什么是地图,我将如何在 C++ 中使用地图?

什么是地图?我将如何在 C++ 中创建和使用一个?

0 投票
6 回答
2167 浏览

c++ - 如何跨文件使用单个命名空间?

我有一个 C++ 项目(VC++ 2008),它只在许多源文件中使用 std 命名空间,但我找不到放置“使用命名空间 std;”的“正确”位置。

如果我把它放在 main.cpp 中,它似乎不会传播到我的其他源文件中。当我把它放在头文件中时,我让它工作了,但后来我被告知这很糟糕。如果我将它放在所有 .cpp 文件中,编译器将无法识别 std 命名空间。

这应该怎么做?

0 投票
4 回答
1025 浏览

c - 从文本文件中扫描可变数量的“字段”

我想从空格分隔的文本文件中扫描形成向量的变量,而绊脚石(对我来说经常如此)缺乏优雅。

目前我的扫描代码需要将向量的大小描述为文件中的第一个元素:

这让我很困扰,因为“7”可以通过检查空白来确定。

我尝试了各种形式的 fscanf()、strtok() 等,但似乎都是蛮力的。如果不求助于 lex/yacc(不可用),有人可以提出比以下更优雅的建议吗?

解决方案:感谢检查的答案,我实现了:

0 投票
8 回答
138586 浏览

c++ - 如何在 C++ 中迭代一个充满字符串的 std::map

我有以下与迭代使用定义的字符串关联数组有关的问题std::map

在构造函数中,我使用与字符串数据关联的字符串键对填充表。在其他地方我有一个方法toString,它返回一个字符串对象,该对象包含表对象中包含的所有键和关联数据(作为键=数据格式)。

当我尝试编译时,出现以下错误:

有人可以向我解释缺少什么,我做错了什么吗?hash_map在用户必须定义​​散列函数才能hash_mapstd::string对象一起使用的情况下,我只发现了一些关于类似问题的讨论。在我的情况下也可能是类似的东西吗?

0 投票
2 回答
604 浏览

c - Programming Pearls 中的 qsort 函数出错?

只是我还是Programming Pearls中的这段代码是错误的(quicksort 需要 2 个 const void,不是吗?)如果是这样,我的解决方案是否正确?抱歉,学习了...

这是一个解决方案吗?

0 投票
4 回答
5144 浏览

c - 是否存在不需要以空字符结尾的字符串的 strtol 等效项?

是否有类似于 strtol 的标准 C 函数,它将采用 char* 和非空终止字符串的长度?

我知道我可以将字符串复制到一个空终止区域,但出于效率原因,这是不可取的。

谢谢。

0 投票
15 回答
101048 浏览

c++ - 一个跟踪插入顺序的 std::map ?

我目前有一个std::map<std::string,int> 将整数值存储到唯一字符串标识符的方法,并且我确实使用该字符串进行查找。它主要做我想要的,除了它不跟踪插入顺序。因此,当我迭代地图以打印出值时,它们会根据字符串进行排序;但我希望它们根据(第一次)插入的顺序进行排序。

我考虑过使用 avector<pair<string,int>>代替,但我需要查找字符串并将整数值递增约 10,000,000 次,所以我不知道 a 是否std::vector会明显变慢。

有没有办法使用std::map或者是否有其他std容器更适合我的需要?

我在 GCC 3.4 上,我的std::map.

0 投票
4 回答
7303 浏览

python - os.popen 在 Python 2.6 中真的被弃用了吗?

在线文档指出 os.popen 现在已弃用。所有其他不推荐使用的函数都会适当地引发 DeprecationWarning。例如:

另一方面,函数 os.popen 静默完成:

没有发出警告。在三种可能的情况中

  1. 预期的行为是文档和标准库对弃用的内容有不同的想法;
  2. 文档中有一个错误,并且 os.popen 并没有真正被弃用;
  3. 标准库中有错误,os.popen 应该发出警告;

哪一个是正确的?

有关背景信息,这是我正在使用的 Python:

os.popen 的论点取自我在 Stack Overflow 上的回复。

附录:感谢下面的 cobbal ,事实证明 os.popen 在 Python 3.1 中并没有被弃用,毕竟。

0 投票
5 回答
6615 浏览

c++ - 在 C++ 中对向量进行分组排序

我有一个充满对象的 std::vector,每个对象都有一个与之关联的数字组标识符。该对象还具有“大小”和“名称”等属性。

我需要能够按名称、大小和其他属性对对象向量进行排序,同时将它们组合在一起(例如,通过上面提到的组标识符)。

如何实现这一目标?