从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很少见特化标准库的场景
Bringing a dynamic environment to C: My linker project
写linker从哪里开始做起?
Lifetime extension of temporary objects in C++: common recommendations and pitfalls
老生常谈的问题, 不要return std::move(x)
ASan TSan UBSan Msan
ppt已经放出来一部分了 https://github.com/CppCon/CppCon2022
这个哥们有点壮啊,虽然说出来有点怪怪的
讲生命周期的,具体看这个 https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2590r2.pdf
案例讲的非常不错,适合观看。
用vcpkg的注意更新一下vcpkg,老版本用的openssl可能有安全问题
boost::unordered_flat_map
效果不错部门又开始裁员了卧槽,这波估计我要危险。。