
程序设计基础知识
老板来碗馄饨
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
“浅拷贝”与“深拷贝”
浅拷贝 所谓浅拷贝,指的是在对象复制时,只是对对象中的数据成员进行简单的赋值,上面的例子都是属于浅拷贝的情况,默认拷贝构造函数执行的也是浅拷贝。大多情况下“浅拷贝”已经能很好地工作了,但是一旦对象存在了动态成员,那么浅拷贝就会出问题了,让我们考虑如下一段代码: class Rect { public: Rect() /转载 2014-05-15 16:47:58 · 332 阅读 · 0 评论 -
主定理
假设有递推关系式其中,n为问题规模,a为递推的子问题数量,n/b为每个子问题的规模(假设每个子问题的规模基本一样),f(n)为递推以外进行的计算工作。情形一如果存在常数,有 那么情形二如果存在常数k ≥ 0,有 那么情形三如果存在常数,有转载 2014-09-11 10:28:53 · 460 阅读 · 0 评论 -
C++中在创建字符串时的一些问题
C++ 在创建字符串的时候有个很奇怪的特点: 创建并初始化字符串数组和指针的时候,两者的const 属性并不一致,例如:char ch[] ="abcde"; // ch 为非 constchar* ch2 = "abcde";// ch2 为 const原创 2014-06-25 21:39:30 · 432 阅读 · 0 评论 -
解释局部变量、全局变量和静态变量的含义
局部变量在一个函数内部定义的变量是内部变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它们,在此函数以外时不能使用这些变量的,它们称为局部变量;说明:1.主函数main中定义的变量也只在主函数中有效,而不因为在主函数中定义而在整个文件或程序中有效2.不同函数中可以使用名字相同的变量,它们代表不同的对象,互不干扰3.形式参数也使局部变量4.在一个函数内部,可以在复转载 2014-07-08 20:04:02 · 2078 阅读 · 0 评论 -
堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两转载 2014-07-08 20:16:08 · 309 阅读 · 0 评论 -
memset函数详细说明及malloc和memset
1 、void *memset(void *s,int c,size_t n)总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。2、例子#includevoid main(){char *s="Golden Global View";clrscr();memset(s,'G',6);printf("%s",s);getchar(转载 2014-05-15 16:11:22 · 1275 阅读 · 0 评论 -
strcpy和memcpy的区别
strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);转载 2014-05-15 15:39:30 · 322 阅读 · 0 评论 -
Big Endian 和 Little Endian
一、字节序来自:http://ayazh.gjjblog.com/archives/1058846/谈到字节序的问题,必然牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian方式存储数据,而x86系列则采用little endian方式存储数据。那么究竟什么是big endian,什么又是lit转载 2014-05-14 12:38:04 · 331 阅读 · 0 评论 -
java中volatile关键字的含义
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronized转载 2014-05-14 10:46:57 · 378 阅读 · 0 评论 -
C/C++位运算技巧
预备知识对于位运算,大家都很熟悉,基本的位操作有与、或、非、异或等等。在面试中经常会出现位运算相关的题,所以我就做了简单的整理,参考了很多写的很好的博客及书籍。现在简单说一下,移位运算。左移运算:x 右移运算:x >> y。将x右移y位,这需要区分x是有符号数还是无符号数。在x是无符号数时,只需将x的最右边的y位丢弃,在左边补上y个0。在x是有符号数时,又分为x是正数还是负数。正数转载 2014-08-30 15:33:29 · 416 阅读 · 0 评论