«谷歌信号WFH从现在开始是可以接受的(更新)|主要|LEDAS 2019冠状病毒病期间的业务报告»

2020年5月25日

评论

帕维尔

你好安德鲁,

谢谢你的精彩文章,这是一个非常有趣的黑客!不幸的是,编译时计数器的代码看起来不能用clang 13编译。我的意思是静态断言失败,并且在每次static_assert之后计数器没有增加,函数' next() '总是返回零。

我对代码做了如下修改,希望能适合读者。

1.只使用typename = decltype([]{})作为reader(int)模板函数中的最后一个模板形参,而不是auto = unique()。我不知道为什么,但编译器缓存的值没有这个变化和阅读器<0>(int{})只是在第一次返回0(因为重载浮点被选择)和1之后的所有时间。

2.在next()函数模板中R之前添加另一个int模板形参,R应该依赖于这个新形参:

模板(int {}) >
Constexpr int next() {
返回R;

如果没有这个更改,next()函数只返回0,即使reader<0>(int)按预期工作(因此,作为计数器)。

无论如何,这篇文章对每一个c++学习者和专业人士都非常有用。

验证你的评论

预览你的评论

这只是一个预览。你的评论还没有发表。

工作……
你的评论无法发表。错误类型:
您的评论已被保存。评论是经过审核的,在作者批准之前不会出现。发表另一条评论

您输入的字母和数字与图像不匹配。请再试一次。

在发表评论前的最后一步,输入你在下面的图片中看到的字母和数字。这可以防止自动程序发布注释。

阅读这张图片有困难吗?查看备用设备。

工作……

发表评论

评论是经过审核的,在作者批准之前不会出现。

你的信息

(需要填写姓名。电子邮件地址将不会与评论一起显示)

广告


搜索这个博客


翻译

感谢您的光临!