文章列表
【转】http://hi.baidu.com/xiao1dian/blog/item/8dc7dbfe7d3958345c600831.html
1、局部变量能否和全局变量重名?答案:能,局部会屏蔽全局。要用全局变量,需要使用"::" 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到 ...
- 2009-06-16 09:35
- 浏览 1011
- 评论(0)
【转】http://hi.baidu.com/douglax/blog/item/4b07c3f7198e7f26730eec62.html
虚函数表
对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。 在这个表中,主是要一个类的虚函数的地址表,这张表解决了继承、重载的问题,保证其容真实反应实际的函数。这样,在有虚函数的类的实例中这个表被分配在了 这个实例的内存中,所以,当我们用父类的指针来操作一个子类的时候,这张虚函数表就显得由为重要了,它就像一个地图一样,指明了实际所应该调用的函数。
这 ...
- 2009-06-03 16:56
- 浏览 683
- 评论(0)
【转】http://hi.baidu.com/liangjw821/blog/item/74c98ed520f299cc51da4b86.html
原题:
用两个栈实现一个队列的功能?
思路:
假设两个栈 A 和B,且都为空。
可以认为栈 A 为提供入队列的功能,栈 B 提供出队列的功能。
入队列: 入栈 A
出队列:
1 如果栈B 不为空,直接弹出栈 B 的数据。
2 如果栈 B 为空
2.1 若A不为空,则依次弹出栈 A 的数据,放入栈 B 中,再弹出栈 B 的数据。
2.1 若A为空,则队列为空。
int enqueue(stack s1,elemtp x)
{
PUSH( ...
- 2009-06-03 15:22
- 浏览 2573
- 评论(0)
【转】http://blog.csdn.net/seraphsky/archive/2008/04/02/2244920.aspx
13、处理器字长导致的数据扩展问题
评价下面的代码片断:
unsigned int zero = 0;
unsigned int compzero = 0xFFFF;
/*1's complement of zero */ 0的补码为全1的数
对于一个int型不是16位的 ...
- 2009-05-29 15:41
- 浏览 1044
- 评论(0)
【转】http://blog.csdn.net/seraphsky/archive/2008/04/02/2244920.aspx
9、位操作(Bit manipulation)
嵌入式系统总是要用户对变量或寄存器进行位操作。给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3。在以上两个操作中,要保持其它位不变。 对这个问题有三种基本的反应
1)不知道如何下手。该被面者从没做过任何嵌入式系统的工作。
2) 用bit fields。Bit fields是被扔到C语言死角的东西,它保证你的代码在不同编译器之间是不可移植的,同时也保证了的你的代码是不可重 ...
- 2009-05-29 15:39
- 浏览 1500
- 评论(0)
【转】http://blog.csdn.net/seraphsky/archive/2008/04/02/2244920.aspx
5、数据声明(Data declarations)
用变量a给出下面的定义
a) 一个整型数(An integer)
b)一个指向整型数的指针( A pointer to an integer)
c)一个指向指针的的指针,它指向 ...
- 2009-05-29 15:38
- 浏览 870
- 评论(0)
【转】http://blog.csdn.net/seraphsky/archive/2008/04/02/2244920.aspx
1、预处理器(Preprocessor)... 1
2、如何定义宏... 2
3、预处理器标识#error的目的是什么?... 4
4、死循环(Infinite loops)... 4
5、数据声明(Data declarations)... 5
6、关键字static ...
- 2009-05-29 15:37
- 浏览 872
- 评论(0)
#是生成字符串:
#define a(x) #x
a(bc) => "bc"
##是连接:
#define a(x) abc##x
a(123) => abc123
#error是生成编译错误消息:
#ifdef abc
#error something wrong...
#endif
//如果abc是已经定义的宏,那么编译的时候就会显示错误消息something wrong...
///////// ...
- 2009-05-29 15:14
- 浏览 1190
- 评论(0)
1 #!/bin/bash
2 # rfe.sh: 更改文件扩展名.
3 #
4 # rfe old_extension new_extension
5 #
6 # 例如:
7 # T为了把当前目录下所有的*.gif文件改成*.jpg,如下执行:
8 # rfe gif jpg
9
10
11 E_BADARGS=65
12
13 case $# in
14 0|1) # 在这里,竖线(|)意味着"或"。
15 echo &quo ...
- 2009-05-25 15:45
- 浏览 751
- 评论(0)
1 stringZ=abcABC123ABCabc
2
3 echo ${#stringZ} # 15
###################################
1 stringZ=abcABC123ABCabc
2 # 0123456789.....
3 # 以0开始计算.
4
5 echo ${stringZ:0} # abcABC123ABCabc
6 echo ${stringZ:1} ...
- 2009-05-25 15:25
- 浏览 1038
- 评论(0)
1 #!/bin/bash
2 # gcd.sh: 最大公约数
3 # 用Euclid运算法则
4
5 # 两个整数的"最大公约数"
6 #+ 是能被这两个整数整除的大最整数.
7
8 # Euclid运算法则采用逐次除法.
9 # 每一次都重新赋值,
10 #+ 被除数 <--- 除数
11 #+ 除数 <--- 余数
12 #+ 直到 余数 = 0.
13 #+ 最后被传递的值中:最大公约数 = 被除数.
14 #
15 # 关于Euclid运算法则的 ...
- 2009-05-24 20:48
- 浏览 1580
- 评论(0)
1 #!/bin/bash
2 # broken-link.sh
3 # 由Lee bigelow所写<ligelowbee@yahoo.com>
4 # 已经征得作者的同意.
5
6 #一个用于发现死符号链接并且输出它们的链接文件的纯shell的脚本。
7 #所以它们能把输出提供给xargs并处理
8 #例如: broken-link.sh /somedir /someotherdir|xargs rm
9 #
10 #下面是更好的发现死符号链接的办法:
11 #
12 #find "somedir&quo ...
- 2009-05-24 20:34
- 浏览 720
- 评论(0)
1 #!/bin/bash
2
3 # 备份当前目录下所有前24小时被修改的文件为一个归档压缩包(归档并且压缩)
4 #
5
6 BACKUPFILE=backup-$(date +%m-%d-%Y)
7 # 在备份文件中嵌入日期.
8 # 多谢Joshua Tschida的这个主意.
9 archive=${1:-$BACKUPFILE}
10 # 如果没有在命令行上指定备份的归档文件名,
11 #+ 会以"backup-MM-DD-YYYY.tar. ...
- 2009-05-24 16:00
- 浏览 669
- 评论(0)
#!/bin/bash
LOG_DIR=/var/log
ROOT_UID=0
LINES=50
#E_XCD=66 #不能进入到目录时的退出代码值
E_NOTROOT=67
if [ "$UID" -ne "$ROOT_UID" ]
then
echo "Must be root to run this script."
exit $E_NOTROOT
fi
E_WRONGARGS=65
case "$1" in
"" ) lines=50;;
*[!0 ...
- 2009-05-24 15:40
- 浏览 1369
- 评论(0)
class MyString
{
public:
MyString();
MyString(int newsize);
MyString(const MyString& ms);
const MyString& operator=(const MyString& ms);
virtual ~MyString();
private:
int *ptr;
int size;
};
/////
MyString::MyString(int newsize)
{
size = newsize;
ptr = new int[size];
for(int ...
- 2009-05-21 16:09
- 浏览 735
- 评论(0)