摘要:引言 要是世上不曾存在C++14和C++17该有多好! 是好东西,但是让编译器开发者痛不欲生;新标准库的确好用,但改语法细节未必是明智之举,尤其是3年一次的频繁改动。C++带了太多历史包袱,我们都是为之买账的一员。 我没那么多精力考虑C++14/17的问题,所以本文基于C++11标准。 知其所以然,
阅读全文
摘要:拉阅读量第二弹,希望你能有所收获。 "我不想听你放那么多屁,我只想知道怎么加速 !" digitalWrite有多慢 这个程序测试调用10次某语句需要的时间。在山寨版Uno Rev3上运行,程序输出: 第一组空函数是对照组, 的结果表明 函数没有什么overhead。第二组 的成绩为36μs,无所谓
阅读全文
摘要:写这篇文章,纯粹是想为博客拉点点击量。在博客园,游客访问好像是不计入阅读量的,而作为一个十八线博主,注册用户的访问应该以搜索引擎为主,博客园首页为次,个位数的粉丝就别谈了。 所以,希望各位从搜索引擎点进来的朋友,多多评论,有问题咱们一起讨论。 我写过AVR单片机教程,设计过自己的Arduino板,希
阅读全文
摘要:本文是``系列的第4篇。 成员指针是一个非常具有C++特色的功能。更低级的语言(如C)没有类,也就没有成员的概念;更高级的语言(如Java)没有指针,即使有也不会有成员指针这么拗口的东西。 上回在Stack Overflow上看到一个问题,C++是否允许 这种写法。我猜他是从C 过来的。在C++中,
阅读全文
摘要:本文是``系列的第3篇。 引用传参 我有一个函数: 因为参数类型是 ,所以函数能够修改传入的整数,而非其拷贝。 然后我用 把它和一个 绑定起来: int i = 1; auto f = std::bind(modify, i); f(); std::cout `对象。 reference_wrapp
阅读全文
摘要:C++的核心理念之一是RAII,Resource Acquisition Is Initialization,资源获取即初始化。资源有很多种,内存、互斥锁、文件、套接字等;RAII可以用来实现一种与作用域绑定的资源管理方法(如 );这些都不在本文的讨论范围之内。 内存是一种资源。从字面上来看,“资源
阅读全文
摘要:在C++11中, 不再只有逻辑与的含义,还可能是右值引用: 但也不尽然, 还可能是转发引用: “转发引用”(forwarding reference)旧称“通用引用”(universal reference),它的“通用”之处在于你可以拿一个左值绑定给转发引用,但不能给右值引用: 一个函数的参数要想
阅读全文
摘要:C++为随机数提供了两套工具:C风格的和C++风格的。 C风格 C为随机数提供的工具是 、`srand RAND_MAX 中。 为`rand srand(1) rand 0`到 ,`RAND_MAX 32767 32767`。 伪随机数看似随机,实则是有规律可循的,对于相同的种子值, 产生的序列完全
阅读全文
摘要:有个很奇怪的现象,我自认为写得好的文章阅读量只有一百多,随手写的却有一千多——要么是胡搞,要么是比较浅显。纵观博客园里众多阅读过万的文章,若非绝世之作,则必为介绍入门级知识的短文。为了让我的十八线博客上升到十七线,我打算写几篇短文。当然,短不等于随便,不等于不负责任。客观的,要有确凿的依据,代码必须
阅读全文
摘要:值多态是一种介于传统多态与类型擦除之间的多态实现方式,借鉴了值语义,保留了继承,在单继承的适用范围内,程序和程序员都能从中受益。
阅读全文
摘要:前言 最近想起半年前鸽下来的Haskell,重温了一下忘得精光的语法,读了几个示例程序,挺带感的,于是函数式编程的草就种得更深了。又去Google了一下C++与FP,找到了一份近乎完美的讲义,然后被带到C++20的ranges library,对即将发布的C++20满怀憧憬。此时,我猛然间意识到,看
阅读全文