c++

2022-3-1 22:7
不参与Wordle热潮是不对的,还有什么比在C++20中创建一个纯编译时版本的游戏更好的方法呢?我很自豪地向你们展示…Wordlexpr! Wordlexpr完全是在编译时玩的,因为从来没有生成过任何可执行文件——游戏是通过编译器错误体验的。因此,我们需要解决几个问题来实现一切: 为了滥用编译器,以我们自己喜欢的任意......
2022-2-22 6:55
大多数C测试框架需要大量样板代码来设置测试和测试套件——您需要创建一个main,然后注册新的测试套件,然后在这些套件中注册测试,最后调用正确的函数。 Criteria遵循KISS原则,同时保持用户对其他框架的控制: 提供了一个默认入口点,除非您想进行特殊处理,否则无需声明main。 在Linux、FreeBSD、ma......
2022-2-21 7:6
下载PDF摘要:即使在对内存安全漏洞的检测和预防进行了几十年的研究之后,内存安全漏洞仍然是安全漏洞中的头号漏洞。针对C/C++提出了各种缓解措施,从语言方言到仪器。其中,基于编译器的指令插入特别具有优越性,不需要手动修改代码,并且能够实现精确的内存安全。不幸的是,现有的基于编译器的解决方案在很多方面都存在缺陷,包括性......
2022-2-17 3:8
效果处理程序允许使用用户定义的计算效果进行编程,应用程序包括自定义轻量级并发(线程、异步等待、参与者、生成器)、错误处理、依赖项注入等。效果处理程序起源于函数式编程领域,这个高度实验性的库的主要目标是探索它们如何适合于面向对象的C++设置。 该库依赖于现代C++特性(移动语义、可变模板、编译时评估),以实现优雅的程序......
2022-2-15 17:28
在上一篇关于元组迭代的文章中,我们介绍了基本知识。因此,我们实现了一个函数模板,它接受一个元组,并可以很好地将其打印到输出中。还有一个版本带有operator<&书信电报;。 今天我们可以进一步了解其他一些技术。第一个是来自C++17的std::apply,它是元组的辅助函数。今天的文章还将介绍一些策略,使迭代更......
2022-1-11 8:13
https://cppcon.org/https://github.com/cppcon/cppcon2020--------- voide:void f(bool b,long x,long&s){if(b)s + = X;可能是你......
2021-8-9 2:58
1999 年,Lutz Prechelt 在 COMMUNICATIONS OF THE ACM(1999 年 10 月/第 42 卷,第 10 期)上发表了一篇开创性的文章,名为 Comparing Java vs. C/C++ Efficiency Differences to Interpersonal Dif......
2021-8-5 21:9
EASTL 代表电子艺界标准模板库。它是一个包含容器、算法和迭代器的 C++ 模板库,可用于跨多个平台的运行时和工具开发。它是这样一个库的一个相当广泛和健壮的实现,并且强调高性能高于所有其他考虑因素。如果您熟悉 C++ STL 或使用过其他模板化容器/算法库,您可能不需要阅读本文。如果您根本不熟悉 C++ 模板,那么......
2021-8-3 0:27
在编程语言领域没有很多非常有力的实证结果。这可能是因为有大量的变量需要控制,而且研究人员可用的大多数科目都是 CS 本科生。然而,我最近发现了一个在众多代码库中复制的结果,据我所知,这使其成为该领域最可靠的发现之一:如果您有一个非常大(数百万行代码)的代码库,用内存不安全的方式编写编程语言(例如 C 或 C++),您......
2021-8-2 3:44
每隔一段时间,我就会收到一封来自一位程序员同事的电子邮件,询问我在我的一款游戏中使用什么语言以及我是如何学习的。这是一个条目,列出了有关 C 的最佳阅读内容。如果您知道其他 gem,请给我发电子邮件或在页面底部添加评论。正如我在上一篇文章中提到的,到目前为止我编写的所有商业 3D 引擎都是 95% C89(又名“标准......
2021-7-30 1:35
随着最近发布的 Visual Studio 2022 预览版 2,我们想使用这篇博文深入探讨全新的热重载体验,该体验适用于托管 .NET 和新支持的本机 C++ 应用程序。使用 Hot Reload,我们的目标是在编辑之间为您节省尽可能多的应用程序重启,通过减少您在继续构建应用程序时花费在构建/重新启动上的时间来提高......
2021-7-29 23:37
最近我正在做一些检索结构数据成员类型的工作。当我探索、研究和测试想法时,我发现了这颗珍珠:template<int N> struct tag{};template<typename T, int N>struct loophole_t {friend auto loophole(tag<......
2021-7-28 2:54
随机数生成器 (RNG) 是许多计算过程的关键部分。作为生态学家,它们对于在我的模型中代表生活中的随机性特别重要。 RNG 最重要的特性是能够生成无法比随机机会更好地预测的符号或数字——这对计算机来说是非常具有挑战性的! RNG 可以是在软件中开发的伪随机数生成器 (PRNG),也可以是基于组件且可以是真正随机的硬件......
2021-7-27 23:46
C++ 原则上是一种强类型语言。然而,它确实允许类型之间的一些隐式转换,使其“不像它应该的那么强”-类型化。从历史上看,很多这些隐式转换来自 C——我们都同意这种语言可以使用更少的隐式转换。 C++ 也没有一种真正简单的方法来向类型添加“单位”,并且允许任何类型定义隐式转换为另一个类型。在我们找到问题的解决方案之前,......
2021-7-26 9:6
CXXGraph 是一个小型库,只有头文件,用于管理 Graph 及其在 C++ 中的算法。换句话说,一个“综合 C++ 图形库”。 Graph Dijkstras Shortest Path Algorithm(Dijkstra's Shortest Path) Dijkstra's Algorit......
2021-7-26 7:28
Dlib 是一个现代 C++ 工具包,包含机器学习算法和工具,用于在 C++ 中创建复杂的软件以解决现实世界的问题。它被工业界和学术界广泛使用,包括机器人、嵌入式设备、移动电话和大型高性能计算环境。 Dlib 的开源许可允许您在任何应用程序中免费使用它。关注或参与dlib的开发请在github上订阅dlib。如果您打......
2021-7-24 7:20
注意:如果你喜欢这些东西,来 PowerDNS 和我一起工作 - 有抱负的 C++ 程序员欢迎!欢迎阅读面向 C 程序员的现代 C++ 第 1 部分,请参阅本系列的目标和背景介绍。在这一部分中,我们从 C++ 特性开始,您可以使用这些特性“逐行”添加代码,而无需立即使用“C++ 编程语言”的全部 1400 页。 C ......
2021-7-22 23:29
WebAssembly 线程支持是 WebAssembly 最重要的性能补充之一。它允许您在单独的内核上并行运行部分代码,或者在输入数据的独立部分上运行相同的代码,将其扩展到与用户拥有的内核数量一样多,并显着减少整体执行时间。在本文中,您将学习如何使用 WebAssembly 线程将用 C、C++ 和 Rust 等语......
2021-6-26 9:27
本系列关于我的玩具渲染器的第1部分涵盖了最基本的设计决策。多年来,我已经写了许多渲染者,并且很长一段时间他们的复杂性一直在增长。这一次,我采取了相反的路线。我想最大化实现至关重要功能的代码的分数,而不是浪费我在融合的基础架构上的时间。我编写的代码(不包括着色器)在345 kB时有7575行。不完全是4K介绍,但比以前......
2021-6-26 8:44
我见过很多很糟糕的旋转锁,围绕着互联网。他们都犯了同样的错误:在读取修改写(RMW)操作上旋转。 IWILL解释为什么这是不好的,如何在C ++中正确地实现Spinlock。解释和实现将很容易地携带到其他编程范围内。在备注结束时,我提供了一个完整的Spinlock,以实现互斥锁名的命名。 最基本的自旋锁通过使用......
2021-6-23 4:26
我&#39; m目前学习c ++能够为openmw做有意义的贡献,所以我一直在阅读很多代码,以及几个书店这个话题。 但它&#39; s中有效的c ++,由scott meyers,第17项,我发现最惊人的触发快乐的脚跟示例: std :: shared_ptr是一个引用计数模仿:它将自动销毁它在拥有的shard......
2021-6-21 15:39
KCGI是用于C / C ++ Web应用程序的开源CGI和FastCGI库。它是最小,安全和可悲的。 要启动,请安装库。然后阅读部署和使用指南。使用GitHub Tracker进行问题或评论,或查找联系信息直接联系。 #include&lt; sys / types.h&gt; / * size_t,ssi......
2021-6-9 13:30
可以称,Lisp可以同时成为世界上最常见的最常见的最罕见的编程语言。我们可以量化这一点。在http://www.tiobe.com/index.php/content/papfo/tpci/index.html中掌舵编程语言的Tiobe指数。 截至2014年8月,包装的主要嫌疑人居住...... C,Java,Ob......
2021-6-5 19:11
vbox({hbox({text(l&#34; left&#34;)|边框,文本(l&#34;中间&#34;)|边框| Flex,文本(L&#34;右和#34;) |边框,}),仪表(0.5)|边框,}); ┌────┐┌─────────────────────────────────────────── ───......
2021-6-5 2:56
Pokegb:一个只在C ++的62行中播放神奇宝贝蓝色的Gameboy仿真器。来源:https://t.co/agt7rutr9h pic.twitter.com/0buumznot - Ben Smith(@Binjimint)5月28日,2021年 在视频中,我展示了一些看起来像3个Pokéballs的源......
2021-6-4 8:7
在最后的博客文章中,我们讨论了CPU分析器的基础知识为Go,C ++和Rust等编译语言。我们通过表示我们想要一个基于采样的探查器,符合这两个要求: 不需要重新编译或重新部署:这对Pixie的自动遥测方法至关重要。您不应该对仪器甚至重新运行您的应用程序以获得可观察性。 具有非常低的开销:这是连续(始终开启)分析器......
2021-5-13 19:17
一些项目使用.c作为C ++源代码的文件扩展名。这是不明智的,因为它可以&#39; t真的是自动和可靠地工作。假设我们有一个文件源.c,具有以下内容: 请注意,该命令使用C编译器,而不是C ++。仍然,编译器将自动检测到扩展名并将其编译为C ++。现在让&#39; s使用Visual Studio做同样的事情......
2021-5-5 21:18
最古老的编码语言之一是经过文艺复兴的事情。但它可以真正掌握自己的更新选择吗? Coursera首席执行官Jeff Maggioncalda说&#34;我们相信高等教育的数字转型只是在早期的局中。&#34; 想知道什么&#39;在kubernetes集群中真正发生了什么? Pixie刚刚成为云本机计算基础计划,......
2021-5-5 20:29
许多时间旅行电影中的共同主题是及时回去找出出了问题并解决了它。开发人员也有希望及时回去,并找到代码破坏并修复它的原因。但是,通常,这是一个重要的一步,很久以前就出了问题,信息不再可用。 RR项目让程序员检查C或C ++程序运行的整个寿命,并重播代码执行,以查看过去导致“令人恐惧的事情”中的哪些操作。 RR在Red ......
2021-4-26 12:18
我是一个常见的记忆不安全语言的批评者,主要是C Andc ++,以及他们如何诱导卓越的安全漏洞。基于来自来自众多大型软件ProjectSing C和C ++的证据的证据是,我们需要将业界迁移到内存安全的语言(如Rust和Swift)。我经常崇拜的一个回复是问题不是C和C ++本身,开发人员都是错误的。特别是,我经常接......