C++ 中文周刊 第44期

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

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

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

说句题外话 fortran居然还在更新,https://fortran-lang.org/还挺新的

最后一天工作日,说实话不太想更了朋友们

提前祝大家新年快乐


资讯

标准委员会动态/一些比较出名的项目release/ide/编译器信息放在这里

编译器信息最新动态推荐关注hellogcc公众号 本周更新 2021-12-29 第130期

文章

我的某个水友V某分享了一个用错API的案例,opencv里的fastAtan2和cmath里的atan2单位不一样,但是返回值都是float,所以这是一个经典的基本类型丢失类型信息的案例。使用库api,遇到基本类型的返回值,一定要明白类型含义

使用-fuse-ld=mold 低版本的gcc别想了,mold你都编译不过

time_t是32位的,2038年就溢出了,glibc修了,不过不是默认的, 使用这个宏-D_TIME_BITS=64来指定

说的挺吓人的实际上不用担心,你要担心的是自定义的时间戳,比如用了int32的,得改成int64了

不过也不用担心,还有十多年你干不干程序员还不一定呢

c++的int互相转化,太坑爹了

std::cout << (-1L < 1U); // What will this output?

猜猜是几?不同的编译选项表现还不同obtain different output using -m32 Vs -m64 compiler command line options.

uint16_t x1 = 1;
uint16_t x2 = 2;
std::cout << x1 - x2 << "\n"; // What will this output?

猜猜是几?-1,因为x1 - x2 的类型是int

uint32_t x3 = 1;
uint32_t x4 = 2;
std::cout << x3 - x4 << "\n"; // What will this output?

再猜猜是几?

4294967295

unsigned short x=0xFFFF;
unsigned short y=0xFFFF;
auto z=x*y; 

猜猜是不是UB? 用-fsanitize=undefined编译下

// runtime error: signed integer overflow: 65535 * 65535 cannot be represented
// in type 'int'
// SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /app/example.cpp:7:13 in

遇到整型计算问题一定要考虑坑爹的转换问题

作为一个图形学程序员,这里给你提供了一份查bug清单,我不懂图形学这里的事儿,就不班门弄斧了,建议点开看下

浮点数精度是不是存在问题?

pipeline渲染管线是不是不对?

先看一段python

from contextlib import contextmanager

@contextmanager
def printing(msg: str):
  print(f'Entering: {str}')
  # Yield a value, making this into a coroutine function
  yield 1729
  print(f'Exiting: {str}')


with printing('coro context example') as val:
  print(f'Got value: {val}')

c++有了协程,也可以了,作者手把手教你实现一个co_resource,代码在这里

视频

cppcon 2021最近没啥时间看,我先鸽,后面慢慢更新

介绍if consteval的。没啥说的,consteval能简单计算了。math基本上都是consteval

项目

工作招聘

这里列的招聘都是我时间线上出现的有意思的,发一下

相关公司看到了别忘了给我打钱(五毛一条)

我们是 TiDBTiFlash 的 compute engine team,包含了基于 Go 的 OLTP 执行引擎与基于 C++ 的 MPP 执行引擎,感兴趣的同学请私信联系(成员分布在上海、广州、杭州、北京、深圳)。(全日制实习生可能得晚点才有 HC)

这里是jd:

看着挺有意思,感兴趣的可以看看


本文永久链接

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