02 2013 档案

摘要:郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖! 可以任意转载、修改,转载时是否标明出处,随君而定!请说出如下2种方式,哪种更好,为什么?方式一:void foo(int a, float b, char* ch, double d, float f);方式二:struct A{ int a; float b; char ch[5]; double d; float f;};void foo(A* pa);咋一看,不知道这题想要考什么,无从下手。其实该题是检查考生对于内存对齐的理解。下面我们先看看关于内存的一些知识。什么是字节对齐,为什么要对齐?... 阅读全文
posted @ 2013-02-25 15:57 怪人Kook 阅读(3049) 评论(10) 推荐(3)
摘要:郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖! 可以任意转载、修改,转载时是否标明出处,随君而定! 交换排序应该是交换排序里面最简单,也最容易理解的一个排序算法,比较接近人的习惯思维。扫描整个数据,从第0个元素开始,跟以后的元素逐个比较,按照排序规则(从小到大或者从大到小)交换顺序,比较完第a后再去比较第a+1个元素,以此类推。 1 template <typename T> 2 void swap(T& lhs, T& rhs) 3 { 4 T tmp = lhs; 5 lhs = rhs; 6 rhs = T; 7 } 8 9 templat... 阅读全文
posted @ 2013-02-21 03:07 怪人Kook 阅读(491) 评论(0) 推荐(0)
摘要:郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖! 可以任意转载、修改,转载时是否标明出处,随君而定! 折半插入排序(binary insertion sort)是对插入排序算法的一种改进,由于排序算法过程中,就是不断的依次将元素插入前面已排好序的序列中。由于前半部分为已排好序的数列,这样我们不用按顺序依次寻找插入点,可以采用折半查找的方法来加快寻找插入点的速度。 在将一个新元素插入已排好序的数组的过程中,寻找插入点时,将待插入区域的首元素设置为a[low],末元素设置为a[high],则轮比较时将待插入元素与a[m],其中m=(low+high)/2相比较,如果比参考元素... 阅读全文
posted @ 2013-02-20 14:48 怪人Kook 阅读(520) 评论(0) 推荐(0)
摘要:郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖! 可以任意转载、修改,转载时是否标明出处,随君而定!算法思想:直接插入排序(straight insertion sort)的作法是:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。直接插入排序属于稳定的排序,时间复杂性为o(n^2),空间复杂度为O(1)。直接插入排序是由两层嵌套循环组成的。外层循环标识并决定... 阅读全文
posted @ 2013-02-20 12:02 怪人Kook 阅读(386) 评论(0) 推荐(0)
摘要:一、位运算1.1 求下面函数的返回值( 微软) 1 int func(x) 2 { 3 int countx =0; 4 while(x) 5 { 6 countx++; 7 x=x&(x-1); 8 } 9 return countx; 10 } 解答:假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。二、引用2.1 什么是“引用”?声明和使用“引用”要注意哪些问题?答:引用就是某个目标变量的“别名”(alias),对引用的操作与对变量直接操作效果完全相同。声明一个引用... 阅读全文
posted @ 2013-02-18 18:14 怪人Kook 阅读(5710) 评论(0) 推荐(0)
摘要:郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖! 可以任意转载、修改,转载时是否标明出处,随君而定!static_cast用于“良性”和“适度良性”转换,包括不用强制转换(如自动类型转换)。static_cast全部用于明确定义的转换,包括编译器允许我们所做的不用强制转换的“安全”转换和不太安全但清楚定义的转换。用法:static_cast< type-id > (expression)该运算符把expression转换为type-id类型,但没有在运行时进行类型检查来保证转换的安全性。static_cast包含的类型转换包括一下几种:A、典型的非强制变换B、窄化(有信息 阅读全文
posted @ 2013-02-18 17:22 怪人Kook 阅读(1171) 评论(1) 推荐(1)
摘要:当你安装QT 5.0 时,启动的时候会出现如下错误:Failed to load platform plugin "xcb". Available platforms are:linuxfbminimalxcb Abandon这是因为相关的库没有安装完整,解决方法很简单,如下:sudo apt-get install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-devIt's ok, so easy! 阅读全文
posted @ 2013-02-17 02:06 怪人Kook 阅读(5788) 评论(1) 推荐(0)
摘要:当sudo apt-get update时提示如下:W: GPG 错误:http://ppa.launchpad.net lucid Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY FAF69C646FF368B7W: 无法下载 http://ppa.launchpad.net/xdlailai/openyoudao/ubuntu/dists/lucid/main/binary-i386/Packages.gz 404 Not FoundE: 有一些索引文件不能下载,它们可能被忽略了,也可能转而使用了旧的索引文件。这里FAF69C646FF368B7就是我们需要验证.. 阅读全文
posted @ 2013-02-17 01:49 怪人Kook 阅读(1010) 评论(0) 推荐(0)
摘要:郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖! 可以任意转载、修改,转载时是否标明出处,随君而定!系统环境操作系统: Ubuntu 10.04 LTS - Lucid Lynx内核版本: 2.6.35-32-generic i686 GNU/Linux系统gcc版本: gcc (Ubuntu/Linaro 4.4.4-14ubuntu5.1) 4.4.5一、准备工作编译GCC需要用到3个软件包:GMP, MPFR, MPC。之所以建议先安装这3个软件包,是因为在使用./configure配置的时候,可能会遇到如下错误: configure: error: Building ... 阅读全文
posted @ 2013-02-17 00:13 怪人Kook 阅读(3595) 评论(0) 推荐(0)
摘要:今天在看《windows网络与通信程序设计》,按照书上的例子输入了一个程序,编译结果提示: Cannot open include file: 'iphlpapi.h': No such file or directory 好不容易在网上找到了iphlpapi.h文件,结果又提示:can not open file 'IPHlpApi.Lib' 又是一头雾水,说要安装什么SDK,找了半天,找到一个可以用的连接,在下面贴出来:http://apps.hi.baidu.com/share/detail/18952922 安装上面的方法就可以完全安装SDK了。另外关于 阅读全文
posted @ 2013-02-16 22:09 怪人Kook 阅读(1451) 评论(0) 推荐(0)
摘要:ostringstream是C++的一个字符集操作模板类,定义在sstream.h头文件中。ostringstream类通常用于执行C风格的串流的输出操作,格式化字符串,避免申请大量的缓冲区,替代sprintf。派生关系图:ios_baseiosostreamostringstreamostringstream的构造函数形式:1 explicit ostringstream ( openmode which = ios_base::out );2 explicit ostringstream ( const string & str, openmode which = ios_base 阅读全文
posted @ 2013-02-16 22:01 怪人Kook 阅读(3469) 评论(0) 推荐(0)
摘要:郑重声明:本文是笔者网上转载,笔者稍有修改,所有权归原文作者!原文链接:http://blog.sina.com.cn/s/blog_67bbb71101010tto.html用g++编译C++程序时显示出:/usr/lib/ld: cannot find -lc/usr/lib/ld: cannot find -lgcc_s/usr/lib/ld: cannot find -lm/usr/lib/ld: cannot find -lgcc_s的错误。在网上看了很多中关于/usr/lib/ld: cannot find -lXXX的解法,但是大同小异,没有很具体的讲解。所以把我的解决方法记录一 阅读全文
posted @ 2013-02-13 23:03 怪人Kook 阅读(5588) 评论(0) 推荐(0)
摘要:郑重声明:本文是笔者网上转载,笔者稍有修改,所有权归原文作者!原文链接:http://blog.csdn.net/nick_wong/article/details/7728653原理: 开机时自动把 fcitx-sunpinyin 的词库加载到内存,再链接回原目录进行使用,在使用过程中定时备份词库,关机时再备份一遍。效果: 优化前,使用 fcitx-sunpinyin,用原装词库时没有过于明显的不适,但是就算只换上那近85M的词库、开了模糊时,完全是卡得要死! 优化后,fcitx-sunpinyin 的响应速度完全是光速~!!本例环境:Ubuntu 10.04、Fcitx 4.0.1说... 阅读全文
posted @ 2013-02-13 13:13 怪人Kook 阅读(828) 评论(0) 推荐(0)
摘要:郑重声明:本文是笔者网上转载,所有权归原文作者!原文链接:http://hi.baidu.com/zgyz/blog/item/f7ef29085c90d4d663d98665.htmlLinux 下压缩与解压.zip和.rar及.7z文件对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们:1)对于.ziplinux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参数选项很多,可用命令zip -help和unzip -help查看,这里只做简单介绍,举例说明一下其用法:# zip yajiu.zip yajiu.jpg yaji 阅读全文
posted @ 2013-02-13 12:27 怪人Kook 阅读(546) 评论(0) 推荐(0)
摘要:郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖! 可以任意转载、修改,转载时是否标明出处,随君而定!当你运行sudo apt-get update时,系统提示:E:动态 MMap 没有空间了。请增大 APT::Cache-Limit 的大小。当前值:25165824。(man 5 apt.conf), E:处理 libsvg-ruby1.8 (NewFileVer1)时出错, E:Problem with MergeList /var/lib/apt/lists/mirrors.shlug.org_ubuntu_dists_lucid_universe_binary-i386... 阅读全文
posted @ 2013-02-13 12:03 怪人Kook 阅读(588) 评论(0) 推荐(0)
摘要:郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖! 可以任意转载、修改,转载时是否标明出处,随君而定!原因:在大部分情况下,问题的原因在于其它的程序如系统的自动更新、新立得等正在使用apt-get进程,所以解决方法也就是将这一进程关闭。解决:1、ps-aux 查出apt-get进程的PID,通常是一个四位数字。2、用sudo kill PID代码 杀死进程3、用sudo apt-get update,sudo apt-get dist-upgrade升级。 阅读全文
posted @ 2013-02-10 20:26 怪人Kook 阅读(473) 评论(0) 推荐(0)
摘要:郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖! 可以任意转载、修改,转载时是否标明出处,随君而定!合法的email地址格式如下: 1. 首字符必须用字母,而且其它的字符只能用26个大小写字母、0~9及_-.@符号 2. 必须包含一个并且只有一个符号“@” 3. @后必须包含至少一个至多三个符号“.” 4. 第一个字符不得是“@”或者“.”(第一步已检查过了) 5. 不允许出现“@.”或者.@ 6. 结尾不得是字符“@”或者“.”具体代码实现: 1 function isRightEmail(str) 2 if string.len(str or "") ... 阅读全文
posted @ 2013-02-05 14:24 怪人Kook 阅读(1171) 评论(0) 推荐(0)
摘要:郑重声明:本文是笔者网上翻译原文,部分有做添加说明,所有权归原文作者!地址:http://www.cprogramming.com/c++11/rvalue-references-and-move-semantics-in-c++11.htmlC++一直致力于生成快速的程序。不幸的是,直到C++11之前,这里一直有一个降低C++程序速度的顽症:临时变量的创建。有时这些临时变量可以被编译器优化(例如返回值优化),但是这并不总是可行的,通常这会导致高昂的对象复制成本。我说的是怎么回事呢?让我们一起来看看下面的代码: 1 #include <iostream> 2 #include &l 阅读全文
posted @ 2013-02-04 17:47 怪人Kook 阅读(2399) 评论(0) 推荐(1)
摘要:郑重声明:本文是笔者网上转载,所有权归原文作者!地址:http://blog.chinaunix.net/uid-20648944-id-3190395.html查看当前登陆的用户$ wholoongson tty7 2012-04-27 08:58 (:0)loongson pts/0 2012-04-27 09:00 (:0.0)loongson pts/1 2012-04-27 09:00 (:0.0)loongson pts/2 2012-04-27 09:15 (:0.0)$ fingerLogin Name Tty Idle Login Time Office Office Pho 阅读全文
posted @ 2013-02-03 14:47 怪人Kook 阅读(11108) 评论(0) 推荐(0)
摘要:郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖! 可以任意转载、修改,转载时是否标明出处,随君而定! range-for是C++ 11新增特性,用于循环迭代一个“范围”,该“范围”类似于包含有begin()和end()方法的STL序列容器。所有的STL标准容器都适用于该“范围”,例如vector、string等等。数组也同样可以,只要定义了begin()和end()方法的任何“范围”都可以使用for来循环迭代容器里面的元素,如istream。语法:for ( range_declaration : range_expression) loop_statement上述代码的效... 阅读全文
posted @ 2013-02-02 22:25 怪人Kook 阅读(1986) 评论(0) 推荐(0)
摘要:郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖! 可以任意转载、修改,转载时是否标明出处,随君而定! 从cmake官网下载最新的cmake版本,笔者下载的是cmake-2.8.10.2.tar.gz,地址http://www.cmake.org/cmake/resources/software.html1、解压cmake-2.8.10.2.tar.gztar -xvf cmake-2.8.10.2.tar.gz2、在cmake-2.8.10.2同级目录下新建一个编译目录mkdir cmake-bulidcd cmake-build3、编译cmake.././bootstra... 阅读全文
posted @ 2013-02-02 15:47 怪人Kook 阅读(2269) 评论(0) 推荐(1)