C++ 中文周刊 第24期

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

每周更新

周刊项目地址 github在线地址知乎专栏

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


资讯

编译器信息最新动态推荐关注hellogcc公众号

本周周报github直达

文章

strcpy是个傻逼函数,基本上是strlen+memcpy代替,除非字符串拷贝是个热点,且代价比strlen+memcpy大,否则没用用strcpy的道理

测了一下c++的管道读写,建议试一下,代码比较简单 https://github.com/lemire/Code-used-on-Daniel-Lemire-s-blog/tree/master/2021/08/03

你可能见过这种代码

struct a {
  int field1;
  struct {
    int field_2;
    int field_3;
  } sub;
};

#define field2 sub.field_2
#define field2 sub.field_3

如何去掉#define?用union

struct a {
  int field1;
  union {
    struct {
      int field2;
      int field3;
    };
    struct {
      int field2;
      int field3;
    } sub;
  };
};

手把手带你看汇编

一个实现反射的设计。目前没有开源,属于show off阶段。不用看

#include <cstdio>

auto main() -> int {
  std::puts("Hello world");        // during run-time
  @meta std::puts("Hello circle"); // during compilation-time
}

Hello circle
ASM generation compiler returned: 0
Hello circle
Execution build compiler returned: 0
Program returned: 0
Hello world

视频

除了维护旧代码需要用到const-cast 没有任何理由用它

项目


本文永久链接

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