Jerry @DOA&INPAC, SJTU

Working out everything from the first principles.

导航

统计

随笔分类 -  C++

1 2 下一页

所有C++相关内容
C++20初体验——concepts
摘要:SFINAE、冗长的模板错误,再见!Concepts、约束,你好! 阅读全文

posted @ 2020-12-05 21:54 Jerry_SJTU 阅读(3405) 评论(0) 推荐(2) 编辑

C++值元编程
摘要:从整数划分问题到C++值元编程——constexpr、模板与函数式。 阅读全文

posted @ 2020-06-15 20:03 Jerry_SJTU 阅读(772) 评论(0) 推荐(0) 编辑

C++98/11/17表达式类别
摘要:从C++98到C++17,表达式类别与时俱进地改变着。引用绑定、auto、decltype、拷贝省略等功能与表达式类别息息相关。 阅读全文

posted @ 2020-05-23 22:34 Jerry_SJTU 阅读(687) 评论(0) 推荐(1) 编辑

C++17结构化绑定
摘要:结构化绑定是C++17添加的新语法,把名字绑定到一个对象的成员上。与引用类似,结构化绑定都是既有对象的别名;与引用不同,结构化绑定不一定是引用类型。 阅读全文

posted @ 2020-05-15 14:53 Jerry_SJTU 阅读(4910) 评论(2) 推荐(5) 编辑

聚合类型与POD类型
摘要:Lippman在《深度探索C++对象模型》的前言中写道: I have heard a number of people over the years voice opinions similar to those of your colleagues. In every case, those o 阅读全文

posted @ 2020-05-09 01:32 Jerry_SJTU 阅读(1870) 评论(2) 推荐(1) 编辑

编译原理词法分析:从正则表达式到生成代码
摘要:引言 最近在学编译原理,一门理论与实践结合的课程,我把作业发到博客里,希望能与大家交流分享。 词法分析一章有一道比较复杂的作业题如下: 本题是一个编程问题,在本题目中,你将完整的实现Thompson算法、子集构造算法和Hopcroft算法。为了帮助你开始,请下载如下链接中的代码并根据代码运行时的提示 阅读全文

posted @ 2020-05-06 23:16 Jerry_SJTU 阅读(2591) 评论(0) 推荐(1) 编辑

C++统一初始化语法(列表初始化)
摘要:引言 要是世上不曾存在C++14和C++17该有多好! 是好东西,但是让编译器开发者痛不欲生;新标准库的确好用,但改语法细节未必是明智之举,尤其是3年一次的频繁改动。C++带了太多历史包袱,我们都是为之买账的一员。 我没那么多精力考虑C++14/17的问题,所以本文基于C++11标准。 知其所以然, 阅读全文

posted @ 2020-04-30 01:43 Jerry_SJTU 阅读(1847) 评论(0) 推荐(2) 编辑

巧用模板加速引脚电平读写
摘要:拉阅读量第二弹,希望你能有所收获。 "我不想听你放那么多屁,我只想知道怎么加速 !" digitalWrite有多慢 这个程序测试调用10次某语句需要的时间。在山寨版Uno Rev3上运行,程序输出: 第一组空函数是对照组, 的结果表明 函数没有什么overhead。第二组 的成绩为36μs,无所谓 阅读全文

posted @ 2020-04-25 17:04 Jerry_SJTU 阅读(851) 评论(2) 推荐(1) 编辑

成员指针与mem_fn
摘要:本文是``系列的第4篇。 成员指针是一个非常具有C++特色的功能。更低级的语言(如C)没有类,也就没有成员的概念;更高级的语言(如Java)没有指针,即使有也不会有成员指针这么拗口的东西。 上回在Stack Overflow上看到一个问题,C++是否允许 这种写法。我猜他是从C 过来的。在C++中, 阅读全文

posted @ 2020-04-23 11:27 Jerry_SJTU 阅读(932) 评论(2) 推荐(0) 编辑

引用传参与reference_wrapper
摘要:本文是``系列的第3篇。 引用传参 我有一个函数: 因为参数类型是 ,所以函数能够修改传入的整数,而非其拷贝。 然后我用 把它和一个 绑定起来: int i = 1; auto f = std::bind(modify, i); f(); std::cout `对象。 reference_wrapp 阅读全文

posted @ 2020-04-21 23:47 Jerry_SJTU 阅读(1841) 评论(0) 推荐(0) 编辑

定位new表达式与显式调用析构函数
摘要:C++的核心理念之一是RAII,Resource Acquisition Is Initialization,资源获取即初始化。资源有很多种,内存、互斥锁、文件、套接字等;RAII可以用来实现一种与作用域绑定的资源管理方法(如 );这些都不在本文的讨论范围之内。 内存是一种资源。从字面上来看,“资源 阅读全文

posted @ 2020-04-20 23:01 Jerry_SJTU 阅读(784) 评论(0) 推荐(2) 编辑

模板参数的“右值引用”是转发引用
摘要:在C++11中, 不再只有逻辑与的含义,还可能是右值引用: 但也不尽然, 还可能是转发引用: “转发引用”(forwarding reference)旧称“通用引用”(universal reference),它的“通用”之处在于你可以拿一个左值绑定给转发引用,但不能给右值引用: 一个函数的参数要想 阅读全文

posted @ 2020-04-19 21:46 Jerry_SJTU 阅读(788) 评论(1) 推荐(2) 编辑

C++生成随机数
摘要:C++为随机数提供了两套工具:C风格的和C++风格的。 C风格 C为随机数提供的工具是 、`srand RAND_MAX 中。 为`rand srand(1) rand 0`到 ,`RAND_MAX 32767 32767`。 伪随机数看似随机,实则是有规律可循的,对于相同的种子值, 产生的序列完全 阅读全文

posted @ 2020-04-18 23:14 Jerry_SJTU 阅读(1532) 评论(1) 推荐(0) 编辑

测量C++程序运行时间
摘要:有个很奇怪的现象,我自认为写得好的文章阅读量只有一百多,随手写的却有一千多——要么是胡搞,要么是比较浅显。纵观博客园里众多阅读过万的文章,若非绝世之作,则必为介绍入门级知识的短文。为了让我的十八线博客上升到十七线,我打算写几篇短文。当然,短不等于随便,不等于不负责任。客观的,要有确凿的依据,代码必须 阅读全文

posted @ 2020-04-17 23:12 Jerry_SJTU 阅读(4011) 评论(0) 推荐(8) 编辑

C++值多态:传统多态与类型擦除之间
摘要:值多态是一种介于传统多态与类型擦除之间的多态实现方式,借鉴了值语义,保留了继承,在单继承的适用范围内,程序和程序员都能从中受益。 阅读全文

posted @ 2020-04-15 21:59 Jerry_SJTU 阅读(3295) 评论(6) 推荐(5) 编辑

std::bind接口与实现
摘要:前言 最近想起半年前鸽下来的Haskell,重温了一下忘得精光的语法,读了几个示例程序,挺带感的,于是函数式编程的草就种得更深了。又去Google了一下C++与FP,找到了一份近乎完美的讲义,然后被带到C++20的ranges library,对即将发布的C++20满怀憧憬。此时,我猛然间意识到,看 阅读全文

posted @ 2020-04-05 19:16 Jerry_SJTU 阅读(4151) 评论(0) 推荐(3) 编辑

AVR单片机教程——走向高层
摘要:本文隶属于AVR单片机教程系列。 在系列教程的最后一篇中,我将向你推荐3个可以深造的方向:C++、事件驱动、RTOS。掌握这些技术可以帮助你更快、更好地开发更大的项目。 本文涉及到许多概念性的内容,如果你有不同意见,欢迎讨论。 关于高层 这一篇教程叫作“走向高层”。什么是高层? 我认为,如果寥寥几行 阅读全文

posted @ 2020-03-20 21:18 Jerry_SJTU 阅读(1184) 评论(0) 推荐(2) 编辑

玩玩24点(中)
摘要:《玩玩24点》系列: "上篇" "中篇" 下篇 序 在上篇中,我用上位机程序遍历了4个1~13的数的1820种组合,通过递归穷举计算出其中1362组的24点接法,并转换为二进制形式,放到单片机程序中,减少了单片机24点游戏程序的计算量,获得了不错的游戏体验。 上篇的最后留了一个疯狂暗示,但时至如今我 阅读全文

posted @ 2020-01-16 00:59 Jerry_SJTU 阅读(555) 评论(0) 推荐(1) 编辑

C++类成员默认初始值
摘要:有时候我们会不给C类成员变量赋初始值,或是因为忘记在构造函数中指定(C11可以写在类内),或是觉得没有必要写。然而,因为觉得编译器会把变量赋成0而不写是错误的。本文通过C++标准来解释这个问题。 本文基于N3337(C++11草案)标准。 关于没有初始化器的对象,在8.5-11中有提及: If no 阅读全文

posted @ 2019-12-19 23:14 Jerry_SJTU 阅读(21532) 评论(1) 推荐(5) 编辑

玩玩24点(上)
摘要:《玩玩24点》系列: 上篇 中篇 下篇 最近班里开始玩24点了。起因是一个在计算器上两人比赛24点的程序,但计算器判断一组数据是否有解需要15秒,于是这个程序就没有判定有解这一功能。 这么慢的速度我当然看不下去,但去优化那个BASIC程序是不可能的,我就开始写自己的24点程序。正好之前的算法课中递归 阅读全文

posted @ 2019-10-15 00:48 Jerry_SJTU 阅读(438) 评论(0) 推荐(0) 编辑

1 2 下一页
点击右上角即可分享
微信分享提示