上一页 1 2 3 4 5 6 ··· 17 下一页

2013年3月12日

多态基类的析构函数应该为虚函数

摘要:#include<iostream>using namespace std;class CBird{public: CBird() { cout << "CBird constructor." << endl; }; ~CBird() { cout << "CBird destructor." << endl; }; virtual void fly() { cout << "CBird fly." << endl; };};class CLark : 阅读全文

posted @ 2013-03-12 09:37 zhuyf87 阅读(3952) 评论(0) 推荐(0) 编辑

2013年3月10日

c/c++ 位操作的趣味应用

摘要:原文地址:http://blog.csdn.net/morewindows/article/details/7354571(代码部分,略作删减;加下划线部分,是后加内容,非原文内容)位操作有很有趣的应用,下面列举出一些,欢迎读者补充。1. 高低位交换给出一个16位的无符号整数。称这个二进制数的前8位为“高位”,后8位为“低位”。现在写一程序将它的高低位交换。例如,数34520用二进制表示为:1000011011011000将它的高低位进行交换,我们得到了一个新的二进制数:1101100010000110它即是十进制的55430。这个问题用位操作解决起来非常方便,设x=34520=1000011 阅读全文

posted @ 2013-03-10 15:00 zhuyf87 阅读(1293) 评论(0) 推荐(0) 编辑

c/c++ 位操作与空间压缩

摘要:原文地址:http://blog.csdn.net/morewindows/article/details/7354571(加下划线部分,是后加内容,非原文内容)这里不详细介绍筛素数法,本文着重对筛素数法所使用的素数表进行优化来减小其空间占用。要压缩素数表的空间占用,可以使用位操作。下面是用筛素数法计算100以内的素数示例代码(这种筛素数的方法很朴素,会多次重复访问素数表中的同一数据,改进方法请参看《改进的筛素数方法》一文):#include <stdio.h>#include <memory.h>const int MAXN = 100;bool flag[MAXN] 阅读全文

posted @ 2013-03-10 13:54 zhuyf87 阅读(731) 评论(0) 推荐(0) 编辑

c/c++ 位操作 常用小技巧

摘要:原文地址:http://blog.csdn.net/morewindows/article/details/7354571(加下划线部分,是后加内容,非原文内容)下面对位操作的一些常见应用作个总结,有判断奇偶、交换两数、变换符号及求绝对值。这些小技巧应用易记,应当熟练掌握。1.判断奇偶根据最未位是0还是1来决定,为0就是偶数,为1就是奇数。因此可以用if ((a & 1) == 0)代替if (a % 2 == 0)来判断a是不是偶数。下面程序将输出0到100之间的所有奇数。for (i = 0; i < 100; ++i) if (i & 1) printf(" 阅读全文

posted @ 2013-03-10 12:31 zhuyf87 阅读(545) 评论(0) 推荐(0) 编辑

c/c++ 位操作基础

摘要:原文地址:http://blog.csdn.net/morewindows/article/details/7354571#quote(这里将原文分为4部分分别转载)在计算机中所有数据都是以二进制的形式存储的。位运算其实就是直接对在内存中的二进制数据进行操作,因此处理数据的速度非常快。在实际编程中,如果能巧妙运用位操作,完全可以达到四两拨千斤的效果。正因为位操作的这些优点,所以位操作在各大IT公司的笔试面试中一直是个热点问题。基本的位操作符有与、或、异或、取反、左移、右移这6种,它们的运算规则如下所示:符号描述运算规则 by MoreWindows&与两个位都为1时,结果才为1|或两个 阅读全文

posted @ 2013-03-10 11:31 zhuyf87 阅读(220) 评论(0) 推荐(0) 编辑

2013年3月9日

【面试题】计算整数符号

摘要:题目:计算一个整数的符号位int v; // we want to find the sign of vint sign; // the result goes here不能使用函数,不能使用if,不能使用“?:”三目运算符…总而言之,本题主要考查的是“位操作、逻辑操作、关系操作”。在google里面输入“Compute the sign of an integer”,搜到一篇强文,里面也包括了这道题目的答案。地址:http://graphics.stanford.edu/~seander/bithacks.html这里把文中关于本题的解答引用如下:Compute the sig... 阅读全文

posted @ 2013-03-09 20:26 zhuyf87 阅读(317) 评论(0) 推荐(0) 编辑

2013年3月7日

原码, 反码, 补码 详解

摘要:原文地址:http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助!一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负 阅读全文

posted @ 2013-03-07 15:05 zhuyf87 阅读(459) 评论(0) 推荐(0) 编辑

一道 c++字符串 面试题

摘要:c/c++ 中的字符串以“\0”作为结尾符,这样每个字符串都有一个额外字符的开销。下面代码将造成内存越界。char str[10];strcpy(str, “0123456789”);为了节省内存,c/c++ 会把常量字符串放到单独的一个内存区域。当几个指针赋予相同的常量字符串时,它们实际上会指向相同的内存地址。char str1[] = "hello world";char str2[] = "hello world";char *str3 = "hello world";char *str4 = "hello world 阅读全文

posted @ 2013-03-07 10:35 zhuyf87 阅读(759) 评论(0) 推荐(0) 编辑

2013年3月4日

c++中 typename 和 class 的区别

摘要:原文地址:http://blog.163.com/susu_sf/blog/static/171060253201092233759957/在c++Template中,很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢?相信学习C++的人对class这个关键字都非常明白,class用于定义类。在模板引入c++后,最初定义模板的方法为: template<class T>......在这里class关键字表明T是一个类型,后来为了避免class在这两个地方的使用可能给人带来混淆,所以引入了typename这个关键字。它的作用同cl 阅读全文

posted @ 2013-03-04 07:11 zhuyf87 阅读(1296) 评论(0) 推荐(0) 编辑

c++模板与泛型编程基础

摘要:泛型编程就是以独立于任何特定类型的方式编写代码,而模板是泛型编程的基础。(1)定义函数模板(function template)函数模板是一个独立于类型的函数,可以产生函数的特定类型版本。// implement strcmp-like generic compare functiontemplate <typename T>int compare(const T &v1, const T &v2){ if (v1 < v2) return -1; if (v2 < v1) return 1; return 0;}模板定义以关键字template开始,后 阅读全文

posted @ 2013-03-04 07:05 zhuyf87 阅读(27926) 评论(0) 推荐(4) 编辑

上一页 1 2 3 4 5 6 ··· 17 下一页

导航