C++ Logo

STD-DISCUSSION

Advanced search

Subject: Re: extremely long compile time with large number of string literals
From: Mandeep Sandhu (mandeepsandhu.chd_at_[hidden])
Date: 2020-07-09 16:33:54


>
> Overload resolution. Try passing suffixed-string literals,
>
> const std::unordered_set<std::string> my_set ({"item1"s, "item2"s, ....});

I tried creating UDL strings like you suggested (but with a space
between the literal & s), but it doesn't compile for me.

A simple program like:
...
const unordered_set<string> myset ({ "a" s, "b" s, "c" s, });
int main()
{
  cout << "size of myset = " << myset.size() << endl;
}

Doesn't compile, I get the error:
...
error: expected ‘}’ before ‘s’
    7 | const unordered_set<string> myset ({ "a" s, "b" s, "c" s, });

Maybe I'm doing it wrong (I haven't used UDLs before).

Thanks.
-mandeep


STD-DISCUSSION list run by std-discussion-owner@lists.isocpp.org

Older Archives on Google Groups