C++运算符优先级与结合性
最近总是由于不清楚运算符优先级不小心写错代码,每次都去查cppreference。现在把cppreference内容拷贝至此,方便查询。
这里面最值得注意的是<<
(移位)优先级低于+/-
(加减),!
(逻辑非)++/--
(自增/自减)+/-
(正负)优先级低于->
运算符。
最近总是由于不清楚运算符优先级不小心写错代码,每次都去查cppreference。现在把cppreference内容拷贝至此,方便查询。
这里面最值得注意的是<<
(移位)优先级低于+/-
(加减),!
(逻辑非)++/--
(自增/自减)+/-
(正负)优先级低于->
运算符。
Wikipedia: GNU Grub是一个来自GNU项目的启动引导程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。 GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。
几乎所有人的Linux都是一个双系统,所以Grub也是几乎所有Linux用户熟知的东西。 但很多原因都可以导致Linux无法启动,比如安装了不合适的驱动程序、由于安装Windows重写了MBR、安装内核时参数搞错了等。
这时我们通常会用一个启动盘来重置MBR,并重新配置硬盘上的Grub。但很多情况下我们并不需要这样一个启动盘,Grub无法启动内核时会提供Grub Rescue终端。 在这里可以手动引导来启动内核,然后重新安装和配置Grub。本文便来记录这一过程。
Grub的手册在这里: https://www.gnu.org/software/grub/manual/
经常有人讲在 IDE 中写 C#、Java 会越来越手残,那么经常用 jQuery 也会让我们忘记 JavaScript 是如何操作 DOM 的。 JavaScript的DOM操作也是面试中的常见问题,尤其是当你需要回答jQuery的性能问题时,便需要再次回到JavaScript DOM API。 本文便总结一下常见的 JavaScript DOM 操作方法,关于 JavaScript DOM 事件可以参考另一篇文章:DOM Level 2 Event 与 jQuery 源码:捕获与冒泡
Wikipedia: 散列表(Hash table,也叫哈希表),是根据关键字(Key value)而直接访问在内存存储位置的数据结构。 也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。 这个映射函数称做散列函数,存放记录的数组称做散列表
哈希表、二叉树、链表是最常见的数据结构,涵盖了程序员面试和笔试中几乎所有的数据结构相关问题。 本文中用C++来实现一个简单的哈希表,帮助理解哈希表是怎样运作的。为了简化代码并突出逻辑,采用简单的除余数作为散列函数,用线性探测来处理碰撞。