前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++ 动态新闻推送 第54期

C++ 动态新闻推送 第54期

作者头像
王很水
发布2022-03-31 16:39:36
5160
发布2022-03-31 16:39:36
举报

C++ 动态新闻推送 第54期

资讯

标准委员会动态/ide/编译器信息放在这里

编译器信息最新动态推荐关注hellogcc公众号 本周更新 2022-03-16 第141期

文章

看不懂说的啥

讨论了ABI带来的兼容问题

第五版优化用上了arm的sse指令重写

不多说,列代码

join_view

代码语言:javascript
复制
using namespace std::ranges;
auto l_as_string = []<typename R>(R range){
   return std::string(std::begin(range), std::end(range));
};
std::vector<std::string> words{"this", "is", "a", "demo"};
auto text = l_as_string(words | views::join);
std::cout << text << '\n';//thisisademo

新接口

代码语言:javascript
复制
auto text = l_as_string(words | views::join_with(' ')); //"this is a demo"

zip_view

代码语言:javascript
复制
std::array<int, 4> n{ 1, 2, 3, 4 };
std::vector<std::string> w{ "one","two","three" };
auto z1 = views::zip(n, w) // { (1, "one"), (2, "two"), (3, "three") }
for(auto t : z1)
   std::cout << std::get<0>(t) << '-' 
             << std::get<1>(t) << '\n';
  • overload 167 这是个期刊,每期都会录入几篇文章,文章很长。内容标题是
    • What are you optimizing for? 没啥说的
    • Revisiting Data-Oriented Design
    • An Associative Container for Non-bash Shell Scripts
    • C++20 Benefits: Consistency With Ranges

没啥值得说的

讲llvm给wasm减少体积

开发simulater遇到的问题 代码在这里

讲作者怎么发现的这个缺陷以及复现过程,做安全的朋友可以看看。简单来说就是数组边界没检查,但触发这个场景构造了挺多东西

视频

尽量用static constexpr,编译期。快。有人用压测挑战了up主,说static constexpr并不比constexpr快,并给了一个bench链接,这个视频是作者的调试过程。简单来说,那个bench场景有问题,数据小,数据局部性太高,constexpr默认是栈变量,cache友好的结果,实际上数据量一大 static constexpr明显优于constexpr

更新一波cppcon 2021

对clang感兴趣的可以看看

讲所有权的。感兴趣的可以看看

嵌入式场景编译器优化减小程序体积 体积影响分发。从二进制角度观测/评估哪里可以省掉,用bloaty查 比如strip 减少内联 (__attribute__((noinline)))/模板实例化以及二进制工具修改 编译选项,-Os -flto -Wl,–strip-all (不要-g) -fno-unroll-loops -fno-execption -fno-rtti 以及编译器本身提供的减少体积的选项,比如thin-lto(llvm) -fmerge-all-constant -mllvm hot-cold-split

代码组织上,不要继承不要类不要lambda,不要复制,实现移出头文件,数据结构简单就好,算法用简单的,不需要考虑性能问题,够用,拷贝尽量用memcpy

还有一些邪魔外道我没有列出。后面直接贴出ppt链接,有兴趣的可以点视频看看

谁用vscode调代码啊,你用吗,我不用。

如果一个类只声明不实现,不能保证成员函数是noexpect(true)的(析构函数除外),之前咱们也聊过zero cost execption相关 这个视频讨论了noexcept的方方面面。比较深入。值得一看。

实现variant/访问需要注意一些问题。AA手把手带你写代码

介绍gdb新特性,新命令,和python更好的交互等等。没细看

VS的静态检测工具,分析分支,跟踪指针生命周期

讲哲学的,太抽象了。没看

msvc的chrono实现。如何支持date timezone等等,API走读(评论区评论非常多。难道是妹子解说就人多吗)

讲range view的。对相关概念感兴趣的可以看看

手把手教你解bug

介绍boostext.ut 这个库用用户自定义前缀 UDL来实现单测的模型,而不是用宏展开。比较优雅。之前也介绍过

讲哲学的我是真听不进去

cppp

介绍SEH的

手把手带你看汇编。这个视频好像推了好几次了。真的值得一看

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C++ 动态新闻推送 第54期
    • 资讯
      • 文章
        • 视频
          • 更新一波cppcon 2021
          • cppp
      相关产品与服务
      检测工具
      域名服务检测工具(Detection Tools)提供了全面的智能化域名诊断,包括Whois、DNS生效等特性检测,同时提供SSL证书相关特性检测,保障您的域名和网站健康。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档