C++ 中文周刊 第87期

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

周刊项目地址

公众号

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

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

2022 1104


资讯

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

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

文章

这个机器我想整一个跑arm linux,但是貌似兼容性不太行啊,适配啥的没人做吧。先观望观望。

貌似可以多装一个固态,也就是说可以玩双系统,一个linux一个windows,还是很爽的。就看适配了。目前生态一般

很秀,可以看这个PPT https://raw.githubusercontent.com/alibaba/yalantinglibs/main/src/struct_pack/doc/struct_pack_introduce_CN.pdf

学习一下

值得一看

哎,确实,做c++的程序员越来越少

涨涨见识

看个乐

老生常谈的string.data()生命周期问题

连接有增有降但是 socket却一直上涨? 忘记close?

ss -tna|grep $PORT|grep CLOSE

当然配置SO_KEEPALIVE就可以了

int val = 600; 
if (setsockopt(client_fd, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val)) < 0) { ... }     
val = 5; 
if (setsockopt(cliend_fd, IPPROTO_TCP, TCP_KEEPINTVL, &val, sizeof(val)) < 0) { ... }     
val = 3; 
if (setsockopt(, IPPROTO_TCP, TCP_KEEPCNT, &val, sizeof(val)) < 0) { ... }

template<auto N> struct foo  {
  static constexpr auto value = N;
};
static_assert(42 == foo<42>::value);

template<auto N>
  requires true // override -> more specialized
struct foo<N> {
  static constexpr auto value = 0;
};
static_assert(42 == foo<42>::value); // memoized
static_assert(0 == foo<43>::value);

更简单的特化,可以玩一些骚的,比如,特化shared_ptr<int>,让它退化成local模式,(不要线程安全, boost::local_shared_ptr

namespace std {
template <class T>
    requires std::is_integral_v<T>
class shared_ptr<T> : public __shared_ptr<int, __gnu_cxx::_S_single> {};
}  // namespace std

这里只是秀一下,除了std::hash很少见特化标准库的场景

老生常谈的问题, 不要return std::move(x)

ASan TSan UBSan Msan

视频 cppcon

ppt已经放出来一部分了 https://github.com/CppCon/CppCon2022

这个哥们有点壮啊,虽然说出来有点怪怪的

讲生命周期的,具体看这个 https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2590r2.pdf

案例讲的非常不错,适合观看。

用vcpkg的注意更新一下vcpkg,老版本用的openssl可能有安全问题

开源项目需要人手

新项目介绍/版本更新

部门又开始裁员了卧槽,这波估计我要危险。。


本文永久链接

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