Glory to the MANKIND!

Thinking will not overcome fear but action will.

C++模板匹配过程

只是从语法上分析,并没有看(也看不了)编译器源码

C++模板匹配过程 参考链接 示例代码如下 template <typename T> struct DoWork; // (0) 这是原型 template <> struct DoWork<int> {}; // (1) 这是 int 类型的特化 template <> struct DoWork&...

NameLookUp&&RecursiveLambdaFuc

Trick!Trick!

这两个问题本身没有什么关联,但是都是我在学习c++时遇到的问题.想在这里做个记录. Two-Phase Name Lookup C++ has more than its fair share of dark, dank corners, especially where templates are concerned. One of the most vexing is “t...

boost.spirit学习笔记(2)

官方文档杀我

boost.Spirit入门(2) 之前有用boost写了一个简单的四则运算解析器 现在开始看官方文档 The magic of expression templates 主要参考 头秃 只有英文 基本介绍 The figure below depicts the overall structure of the Boost Spirit libr...

boost spirit 学习

编译原理初探

boost 语法解析器学习 主要参考 EBNF学习 EBNF基本形式 ​ ** ** 分隔符,表示由它分隔的某一个子表达式都可供选择 ​ **** 重复,和正则表达式里的类似,表示它之前的子表达式可重复多次 ​ - 排除,不允许出现跟在它后面的那个子表达式 ​ , 串接,...

C++的一个小疑问

别名重定义

C++ 的一个小疑问 来源 出自c++ primer ex7.35 typedef string Type; Type initVal(); class Exercise { public: typedef double Type; Type setVal(Type); Type initVal(); private: int val; }; Ty...

内存管理内幕0x02 fastbin

这不硬核..

内存管理内幕(2) –fastbin 已经好久都没有更新博客了,今天准备写一篇关于malloc的学习笔记 前言 上篇文章中, 详细介绍了malloc的基本实现。但是在glibc malloc中,我们用的是一种完全不一样的策略来完成chunk的管理。 图片来源 基础知识 bin介绍 bin是一种记录free chunk的链表 其中有四种不同的类型 1.Fast ...

内存管理内幕

这算硬核了吧.....

内存管理内幕 内存管理是计算机编程最为基本的领域之一。在很多脚本语言中,您不必担心内存是如何管理的,这并不能使得内存管理的重要性有一点点降低。对实际编程来说,理解您的内存管理器的能力与 局限性至关重要。在大部分系统语言中,比如 C 和 C++,您必须进行内存管理。 –IBM Dveloper 从malloc谈起 在c语言库里,中有一个管理内存的函数, malloc:该函数分配给定的字...

进击的树莓派

一次无聊的尝试

进击的树莓派(一) 近日想解决一下iPad上写c的问题,奈何网上的在线IDE不好用,一直开着笔记本共享也不行,于是购入了一个树莓派来作为小型服务器。 系统的安装和设置 我的树莓派 首先我们要在sd卡上烧入系统, 需要用到两个工具 这里使用的是最新的官方源点击我下载 然后用这两个工具,先使用SD Card Formatter格式化U盘,然后使用USB Image T...

指针与数组问题归档

然后就是

我对指针和数组的理解 指针 某社团的上古学长曾经说过C语言中只有两种类型变量,值和指针。起初我还不太理解学长的意思,直到现在我才渐渐有一点明悟。 即是这两种类型 AnyType // 创建一个该类型的变量 AnyType * // 创建一个指针 这个指针指向的值是一个该类型的变量 指针也是变量,它本身也有值,它保存了它所指向地址的值。由此,可以通过指针间接修改变量...

关于代码规范

还有一些个人感想

关于代码规范 这几天做协会的题目,题目可以写完,但是代码不是太规范。以下我自己的一些思考。 谷歌代码规范 谷歌的C++的规范 这个就是在网上找的代码规范了,当然,我自己也有自己的理解。 关于变量命名 命名约定 总体规则:不要随意缩写,除函数名可适当为动词外,其他命名尽量使用清晰易懂的名词; 宏、枚举等使用全部大写+下划线; ...