小编Kur*_*man的帖子

使用 cpr C++ 请求库发送 nlohmann json 有效负载的最佳方法

我正在尝试使用两个 C++ 库将 JSON 对象发布到外部服务器:nlohmann/jsonwhoshuu/cpr

在 python 中我可以简单地通过使用来做到这一点requests.post(url, json=data)

有没有一种简单的方法将nlohmann::json类转换为cpr::Payload所需的等效项cpr::POST

c++

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

C++ find返回字符串变量文本中的最后一个单词.string getFirstWord(text)

我试图走到字符串的末尾,回到最后一个空格,然后继续前进到单词的结尾并将该单词存储在空字符串中.不允许使用数组或指针.

string getLastWord(string text)
{
    string lastword="";
    int last=text.size()- 1;
    int beginlast=0;
    if text == "";
    return  "";
    for (int i=last; i>=1; i--)
    {
        if (isspace(text[i]))
            beginlast=beginlast+i;
    }
    for (int k=0; k!=text.size; k++)
    {
        if (isalpha(text[k]))
            lastword=lastword+lastword[k];
    }
    return lastword;
}
Run Code Online (Sandbox Code Playgroud)

c++

2
推荐指数
1
解决办法
8507
查看次数

什么是完美转发等于

我知道这可以用来执行完美的转发:

template <typename A>
void foo(A&&) { /* */ }
Run Code Online (Sandbox Code Playgroud)

这可以用于在某种类型上执行完美转发:

template <typename A, std::enable_if_t<std::is_same<std::decay_t<A>, int>::value, int> = 0>
void foo(A&&) { /* */ }
Run Code Online (Sandbox Code Playgroud)

但这些只是函数的模板,这意味着,这些函数会扩展为某些函数,然后将这些函数用于可能使用它的每个特殊情况.但是,这些扩展到:

void foo(A&)void foo(A&&)

要么

void foo(A&)void foo(A)

我一直认为,这将是第一个,但后来我注意到,在那种情况下,你将无法A const用作函数的参数,这当然有效.

然而,如果您使用正常的非常数左值,则第二个将是不明确的.它会打电话foo(A&)还是foo(A)

c++ templates rvalue-reference move-semantics perfect-forwarding

0
推荐指数
1
解决办法
71
查看次数