首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C++ 中文周刊 第137期

    consteval std::string_view type_name() { std::string_view s = std::source_location::current().function_name...sort排序的条件显然不能这么写,并没有一个有序的传递性 拓扑排序没有排序的传递性,所以被迫需要整体的视角, 而排序is sorted只要保证 左右和自己就能把这个传递性推广开 那只好遍历了 /// topological...,有一种可能,回调函数在调用的途中,类自己已经析构了,回调函数也unregister了 如何解决这种问题?...from C++20 [13] span相比string_view有个优点,就是可以改动 Why does unsafe multithreaded use of an std::unordered_map...,也可以加群384042845和作者对线 最近进展,优化JIT/基础组件调优,对于做语言的还是能见识到一点东西的 • Unilang[16] deepin的一个通用编程语言,点子有点意思,也缺人,感兴趣的可以

    8110

    C++17 在业务代码中最好用的十个特性

    std::string_view顾名思义是字符串的“视图”,类成员变量包含两个部分:字符串指针和字符串长度,std::string_view 涵盖了 std::string 的所有只读接口。...只有当对类型完全未知的情况下,才应当使用std::any,比如动态类型文本的解析或者业务逻辑的中间层信息传递。...>代表一个多类型的容器,容器中的值是制定类型的一种,是通用的 Sum Type,对应 Rust 的enum。是一种类型安全的union,所以也叫做tagged union。...与union相比有两点优势: 可以存储复杂类型,而 union 只能直接存储基础的 POD 类型,对于如std::vector和std::string就等复杂类型则需要用户手动管理内存。...总结一下,c++17 新增的三种类型给 c++带来了更现代更安全的类型系统,它们对应的使用场景是: std::any适用于之前使用void*作为通用类型的场景。

    2.7K20

    c++ string_view

    所以在C++中若传递的数据仅仅只读,const string&成了C++的天然的方式。...使用std::string_view可以避免这种情况: string_view-版本 #include string> #include #include vector> #include... #include #include string_view> void lines(std::vectorstring> &lines, std...C++标准并没有对这个类型做太多的约束,这引来的问题是我们可以像平常的变量一样以多种方式使用它,如,可以传参,可以作为函数返回值,可以做普遍变量,甚至我们可以放到容器里。...随着使用场景的复杂,人工是很难保证指向的内容的生命周期足够长。所以,推荐的使用方式:仅仅作为函数参数,因为如果该参数仅仅在函数体内使用而不传递出去,这样使用是安全的。

    38120

    mold源码阅读 其一 读取输入文件

    string_view> vec = tokenize(ctx, mf->get_contents()); std::spanstring_view> tok = vec;...而这里的InputFile更像是代表了一个输入的ELF文件,构造的过程中做了一些ELF的基础解析,同时还提供了一些通用的接口,交由ObjectFile和SharedFile各自实现。...根据代码中可知,整个文件最开始的部分即可作为一个ElfEhdr(Ehdr:Elf Header) 根据header的信息可以解析出是否为dso文件,ElfShdr(Shdr:Section Header...tbb::concurrent_vector>> ObjectFile的构造函数只是传递了参数,大部分的解析还是在InputFile的构造函数中执行...关于save_string的问题,这里也是和之前一样,创建了string后由ctx来管理生命周期,返回一个string_view提供使用。

    1.5K20

    C++ 中文周刊 第125期

    • soagen: A Structure-of-Arrays generator for C++ [3] 帮你把结构体组成的数组这种行存转换为数组结构体模式列存 是代码帮你生成tuple。...[4] static_assert(false, std::string_view{"message"}); 既然能string_view 也就可以fmt • Inside STL: The pair...[6] 介绍string对小字符串做的优化,类似clang::string的实现分析 • A Gentle Introduction to LLVM IR[7] 光速入门 • MySQL · 源码剖析...没有代码,听个乐 开源项目需要人手 • asteria[12] 一个脚本语言,可嵌入,长期找人,希望胖友们帮帮忙,也可以加群384042845和作者对线 • Unilang[13] deepin的一个通用编程语言...v=iLHNF7SgVN4&ab_channel=CppCon 了解下 工作招聘 有没有可以远程的工作可以推荐给我,我也快失业了 API Design 最近群里收集了一些想要讨论的点子,大家比较关注API

    6210

    为什么std::string_view能解决std::string和char*的性能瓶颈?

    使用 const char* 传递:使用 const char* 作为参数类型,可以避免不必要的复制。...std::string_view std::string_view 作为 C++17 引入的一种轻量级的新型字符串视图类,仅持有一个指向字符串数据的指针和一个表示字符串长度的整数。...其具有如下优势: 避免不必要的复制:尤其是当需要传递字符串时,std::string_view 避免了不必要的内存复制,提高了性能。...总结 std::string_view 作为 C++17 引入的一个新特性,极大地优化了字符串处理的性能,尤其是在频繁传递和操作字符串时。...通过避免不必要的内存复制和分配,std::string_view 提供了一种高效的方式来操作字符串数据。

    6800

    c++17好用的新特性总结

    std::string_view顾名思义是字符串的“视图”,类成员变量包含两个部分:字符串指针和字符串长度,std::string_view涵盖了std::string的所有只读接口。...只有当对类型完全未知的情况下,才应当使用std::any,比如动态类型文本的解析或者业务逻辑的中间层信息传递。...>代表一个多类型的容器,容器中的值是制定类型的一种,是通用的Sum Type,对应Rust的enum。是一种类型安全的union,所以也叫做tagged union。...与union相比有两点优势: 可以存储复杂类型,而union只能直接存储基础的POD类型,对于如std::vector和std::string就等复杂类型则需要用户手动管理内存。...总结一下,c++17新增的三种类型给c++带来了更现代更安全的类型系统,它们对应的使用场景是: std::any适用于之前使用void*作为通用类型的场景。

    3.4K10

    C++ 中文周刊 第99期

    他们的代码接口风格还是98那套Interface形式,但是都用的pragram once,没用Macro Guard,给人一种老太太用神仙水的反差感 另外有人问为啥他们数据库代码没泄露。。...觉得main过于繁琐, 参数不好用,难以理解,给了个解决例子 #include #include span> #include string_view> constexpr std...::spanstring_view> start(int argc, char** argv) { static std::arraystring_view, 255> argvElements...= []() -> std::arraystring_view, 255> { std::arraystring_view, 255> argvElements;...感兴趣的可以体验一下 工作招聘 有没有需要拖地的,我会 ---- 看到这里或许你有建议或者疑问或者指出错误,请留言评论! 多谢! 你的评论非常重要!也可以帮忙点赞收藏转发!多谢支持!

    51930
    领券