C++ 中文周刊 第77期

reddit/hackernews/lobsters/meetingcpp摘抄一些c++动态

周刊项目地址在线地址知乎专栏 腾讯云+社区

欢迎投稿,推荐或自荐文章/软件/资源等

可以贴在下一期草稿里 链接

2022 08 26

准备做视频,目前有代码走读/benchmark俩主题,大家还有啥意见可以供稿一下。下一期视频准备先来个userver代码走读。我先准备准备材料


资讯

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

标准委员会八月邮件 https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/#mailing2022-08

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

文章

namespace detail {
template <bool> struct conditional;
template <> struct conditional<false> {
  template <class, class T> using fn = T;
};
template <> struct conditional<true> {
  template <class T, class> using fn = T;
};
} // namespace detail

template <bool B, typename T, typename F>
using conditional_t = typename detail::conditional<B>::template fn<T, F>;

说实话,没看懂

关于协程的封装探索,挺有意思的

看不懂

GCC整体介绍

看个乐

fmt对输出有严格限制

介绍他自己写的静态检查器 https://github.com/GregUtas/robust-services-core

main函数执行前都干了啥,填充入参之类的

#include <iostream>
#include <string>
#include <stdlib.h>

std::string message;

extern "C" {
void __asan_on_error() {
  std::cout << "You caused an error: " << message << std::endl;
}
}


int main() {
  int array[8];
  for(int k = 0;; k++) {
    message = std::string("access at ") + std::to_string(k);
    array[k] = 0;
  }
  return EXIT_SUCCESS;
}

不过不太实用

memcmp比较出错。qemu这种牛逼软件也会有这种问题啊

int arr[10000];    // 一个已有的数组
mdspan mdarr{arr, i, j, k};  // 把已有的数组 arr 视作 i×j×k 的多维数组
int value = mdarr[x, y, z];  // 访问多维数组的元素
mdarr[x, y, z] = 42;         // 向元素赋值

简而言之就是这几行。现在你已经学会了

视频

-ftime-trace 生成编译的时间json结果,可以用chrome://tracing/ 浏览器来加载查看。可以自己试一试

觉得麻烦想快速验证的,这里有个build bench https://build-bench.com/b/zLopSp4Yj5XaijZSuwqiYvA2PNU

开源项目需要人手

新项目介绍/版本更新

工作招聘

突然寒冬卧槽了,任正非你这嘴开过光吧


本文永久链接

看到这里或许你有建议或者疑问或者指出错误,请留言评论! 多谢! 你的评论非常重要!也可以帮忙点赞收藏转发!多谢支持! 觉得写的不错那就给点吧, 在线乞讨 微信转账