我想“迁移”到 C++17 并正在研究它。
我发现这是:
https://gcc.godbolt.org/z/sPnsEM
#include <string_view>
#include <type_traits>
int main(){
return
(std::is_standard_layout_v<std::string_view> ? 10 : 20)
+
(std::is_trivial_v<std::string_view> ? 100 : 200)
+ (std::is_trivially_copyable_v<std::string_view> ? 1000 : 2000)
;
}
返回 1210,例如std::string_view
isstandard_layout
和trivially_copyable
,但令人惊讶的是 is not trivial
。
我在这里检查了一些实现:
https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/experimental/string_view
而且我没有看到任何 d-tor。
那是因为它的c-tors吗?