小编Lim*_*eng的帖子

C++正则表达式字符类不匹配

根据我的研究,表达式"[:alpha:]"将匹配任何字母字符,但表达式只匹配小写字符而不是大写字符.我不确定它有什么问题.

std::regex e ("[:alpha:]");
if(std::regex_match("A",e))
     std::cout<<"hi";
  else
     std::cout<<"no";
Run Code Online (Sandbox Code Playgroud)

c++ regex character-class

6
推荐指数
1
解决办法
264
查看次数

使用折叠表达式在每个元素之间打印空格

我使用折叠表达式来打印可变参数包中的元素,但是如何在每个元素之间获得空格?

目前输出为"1 234",所需输出为"1 2 3 4"

template<typename T, typename Comp = std::less<T> >
struct Facility
{
template<T ... list>
struct List
{
    static void print()
    {

    }
};
template<T head,T ... list>
struct List<head,list...>
{
    static void print()
    {
     std::cout<<"\""<<head<<" ";
     (std::cout<<...<<list);
    }
};
};

template<int ... intlist>
using IntList = typename Facility<int>::List<intlist...>;
int main()
{
 using List1 = IntList<1,2,3,4>;
 List1::print();
}
Run Code Online (Sandbox Code Playgroud)

c++ cout fold-expression

3
推荐指数
3
解决办法
311
查看次数

使用constexpr-if时出错:预期'(''constexpr'之前'

我试图使用if-constexpr检查一些东西,但我遇到了类似的错误

预期'('之前'constexpr'

没有先前'if'的'else'

到目前为止,我检查我的代码没有任何问题

我的编译标志是g ++ -std = c ++ 17 main.cpp

#include <iostream>
template<typename T, typename Comp = std::less<T> >
struct Facility
{
template<T ... list>
struct List
{
    static void print()
    {
        std::cout<<"\""<<"Empty List"<<"\""<<"\n";
    }
};
template<T head,T ... list>
struct List<head,list...>
{
    static void print()
    {
        std::cout<<"\"" << head;
        ((std::cout << " " << list), ...);
        std::cout<<"\""<<"\n";
    }
};
template<unsigned N,typename AA>
struct RemoveFirst{};

template<unsigned N,T head,T ... Rest>
struct RemoveFirst<N,List<head,Rest...>>
{
    struct result
    {
        static void …
Run Code Online (Sandbox Code Playgroud)

c++ c++17 if-constexpr

3
推荐指数
1
解决办法
907
查看次数