类字符串对象的概念
Concept for string-like object
标准库中有类字符串对象的概念吗?
我的意思是
template<typename T>
concept StringLike = requires(T x) {
/* is same as const char*, char*, std::string etc */
}
有一个关于手工制作的问题
Type trait for strings。但是我找不到任何关于概念的信息。为什么它不包含在 std 中?
基于
/* is same as const char*, char*, std::string etc */
答案是不,与const char*
、char*
、std::string
没有什么相同之处,因为它们是不同的类型。好吧,const char*
只是一个不可修改的 char*
,但是 std::string
是完全不同的东西。没有什么可以同时与 std::string
和 char*
相同,就像没有整数可以既等于又不等于 0.
我在寻找函数的概念,它只接受 const char*、char* 和字符串
template<class T>
concept StringLike = std::is_convertible_v<T, std::string_view>;
对我有用:)
标准库中有类字符串对象的概念吗? 我的意思是
template<typename T>
concept StringLike = requires(T x) {
/* is same as const char*, char*, std::string etc */
}
有一个关于手工制作的问题 Type trait for strings。但是我找不到任何关于概念的信息。为什么它不包含在 std 中?
基于
/* is same as const char*, char*, std::string etc */
答案是不,与const char*
、char*
、std::string
没有什么相同之处,因为它们是不同的类型。好吧,const char*
只是一个不可修改的 char*
,但是 std::string
是完全不同的东西。没有什么可以同时与 std::string
和 char*
相同,就像没有整数可以既等于又不等于 0.
我在寻找函数的概念,它只接受 const char*、char* 和字符串
template<class T>
concept StringLike = std::is_convertible_v<T, std::string_view>;
对我有用:)