相关疑难解决方法(0)

如何迭代字符串的单词?

我正在尝试迭代字符串的单词.

可以假设该字符串由用空格分隔的单词组成.

请注意,我对C字符串函数或那种字符操作/访问不感兴趣.另外,请在答案中优先考虑优雅而不是效率.

我现在最好的解决方案是:

#include <iostream>
#include <sstream>
#include <string>

using namespace std;

int main()
{
    string s = "Somewhere down the road";
    istringstream iss(s);

    do
    {
        string subs;
        iss >> subs;
        cout << "Substring: " << subs << endl;
    } while (iss);
}
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方式来做到这一点?

c++ string split

2895
推荐指数
43
解决办法
214万
查看次数

在C++标识符中使用下划线有哪些规则?

在C++中通常用某种前缀命名成员变量来表示它们是成员变量而不是局部变量或参数.如果你来自MFC背景,你可能会使用m_foo.我myFoo偶尔也见过.

C#(或者可能只是.NET)似乎建议只使用下划线,如_foo.这是否允许C++标准?

c++ standards naming-conventions c++-faq

906
推荐指数
4
解决办法
24万
查看次数

我为什么不#include <bits/stdc ++.h>?

我在我的代码中发布了一个问题,其唯一的#include指令如下:

#include <bits/stdc++.h>
Run Code Online (Sandbox Code Playgroud)

我的老师告诉我这样做,但在评论部分,我被告知我不应该这样做.

为什么?

c++ portability c++-faq turbo-c++ implementation-defined-behavior

215
推荐指数
6
解决办法
2万
查看次数

如何将负数转换为正数?

如何在Python中将负数转换为正数?(并保持积极的一面.)

python numbers absolute-value

87
推荐指数
6
解决办法
22万
查看次数

检查一个字符是否在字符串中至少出现 N 次。算法中的任何解决方案?

这个问题在获得解决方案方面并不难,但我想知道是否有任何 C++ 函数或算法可以解决它。

我在研究这个问题时想到了这个想法Count character chances in a string in C++

所以想知道除了从头开始编写一个函数来检查字符串中某个字符是否出现特定次数之外,我们是否还有其他选择。例如让我们说:

std::string s = "a_b_c_d_e_f_g_h_i_j_k_l_m";
Run Code Online (Sandbox Code Playgroud)

并且我们想查找 string 中是否至少有 2 个 '_'。如果我们使用std::count它将返回所有“_”的计数。std::count_if也会以类似的方式行事。我可以编写一个代码来循环遍历字符串并在计数达到 2 时立即中断,但我想知道我们是否在 C++ 算法或函数中有一些现有的解决方案。

这里的思考过程是,如果我们得到一个很长的字符串作为输入,并且做某事的标准是基于某个特定字符是否至少出现n次,那么遍历整个字符串是一种浪费。

c++ string algorithm stl

4
推荐指数
1
解决办法
273
查看次数