修改 Grub2 主题,美化启动画面

现在在启动引导程序中 Grub 大行其道,几乎所有 Linux 发行版都默认使用 Grub 做引导程序。Debian 也不例外。然而,系统默认的 Grub 界面或许不能令你满意。这篇文章就是介绍如何修改 Grub2 的主题,使系统的启动画面更漂亮的。 ...

C++ 的关键字 explicit

如果一个类的构造函数被声明为 explicit ,那以此构造函数进行的隐式类型转换将被阻止。要想进行此种类型转换,必须显式地调用此构造函数。 ...

C++ 的类型转换 之 static_cast

static_cast 一般用来将枚举类型转换成整型,或者整型转换成浮点型。也可以用来将指向父类的指针转换成指向子类的指针。做这些转换前,你必须确定要转换的数据确实是目标类型的数据,因为 static_cast 不做运行时的类型检查以保证转换的安全性。也因此, static_cast 不如 dynamic_cast 安全。对含有二义性的指针, dynamic_cast 会转换失败,而 static_cast 却直接且粗暴地进行转换。这是非常危险的。 ...

删除容器的元素时应谨慎

当一块内存被释放后,指向它的所有指针都成了“野指针”;当容器中的的一个元素被删后,指向那个元素的所有迭代器也都失效了。这两者都是程序员的大敌。对于前者,你已经有了足够的警惕,并且多年来养成了一个对付它的好习惯,就是在释放内存后立即把指向它的指针赋值为 NULL ,并在使用任何指针前都先判空(判断其是否为空指针)。而对于后者,即使经验丰富的猎人也仍然不时地掉入它的陷阱。 ...

解决 Live Writer 语法高亮插件的一个 BUG

经常写博客的人或许对 Live Writer 非常熟悉,而经常写博客的程序员不但熟悉 Live Writer ,或许还在使用 @世友 同学开发的一个插入高亮代码的插件。该插件最新版本是作者于 2009.12.14 发布的 V1.2 版。此版解决了以往的一些 bug ,但仍然有个 bug 导致一个非常严重的错误,使得插件不能使用,并提示“插件初始化异常,未将对象引用设置为对象实例”。在此,本文作者给出了此问题的解决方法。 ...