
计算机基础与编程语言
文章平均质量分 58
Pango_lulu
这个作者很懒,什么都没留下…
展开
-
静态局部变量
对静态局部变量的说明: (1) 静态局部变量在静态存储区内分配存储单元。在程序整个运行期间都不释放。而自动变量(即动态局部变量)属于动态存储类别,存储在动态存储区空间(而不是静态存储区空间),函数调用结束后即释放。(2) 为静态局部变量赋初值是在编译时进行值的,即只赋初值一次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的 值。而为自动变原创 2014-10-17 01:52:01 · 638 阅读 · 0 评论 -
TCP与UDP的区别
TCP(传输控制协议):1)提供IP环境下的数据可靠传输(一台计算机发出的字节流会无差错的发往网络上的其他计算机,而且计算机A接收数据包的时候,也会向计算机B回发数据包,这也会产生部分通信量),有效流控,全双工操作(数据在两个方向上能同时传递),多路复用服务,是面向连接,端到端的传输;2)面向连接:正式通信前必须要与对方建立连接。事先为所发送的数据开辟出连接好的通道,然后再进行数据原创 2015-04-15 22:43:51 · 591 阅读 · 0 评论 -
拷贝构造函数和赋值函数的必要性和意义
引题:网上看到这篇佳文,忍不住收藏以飨读者,当然还有自己!呵呵....... 重点:包含动态分配成员的类 应提供拷贝构造函数,并重载"="赋值操作符。 以下讨论中将用到的例子: class CExample { public: CExample(){pBuffer=NULL; nSize=0;} ~CExample(){delete pBuffer;转载 2015-04-15 22:23:51 · 642 阅读 · 0 评论 -
C++虚函数及虚函数表解析
原文链接:http://www.keepsimply.org/2012/07/11/cpp-vtable/作者:独酌逸醉时间:2012.07.11声明: 本文内容由自互联网资源(见参考资料)、个人的一些 C++ 学习感悟、个人实践整理而成。文章仅以技术学习和交流为目的。如果您发现了文中的错误,或者您有的不同的见解,可以给我留言或者给我发邮件,我们共同探 讨。如果您转载 2015-04-15 19:29:05 · 428 阅读 · 0 评论 -
什么样的类需要编写拷贝构造函数
1-什么时候会用到拷贝构造函数? 2-什么时候有必要手动写拷贝构造函数?1-什么时候会用到拷贝构造函数? 任何你想利用一个已有的类实例给另一个类实例赋值时,这种赋值可能是显式的,也可能是隐式的显式:classa_1=class_2;隐式:函数的形参有用到类对象却没有用引用或传址技术时 函数的返回值是一个对象也没有应用传址技术时2-什么时候转载 2015-04-15 22:25:59 · 735 阅读 · 0 评论 -
c++函数返回引用
函数返回值和返回引用是不同的函数返回值时会产生一个临时变量作为函数返回值的副本,而返回引用时不会产生值的副本,既然是引用,那引用谁呢?这个问题必须清楚,否则将无法理解返回引用到底是个什么概念。以下是几种引用情况: 1,引用函数的参数,当然该参数也是一个引用 const string &shorterString(const string &s1,c转载 2015-04-15 22:27:59 · 496 阅读 · 0 评论 -
虚函数什么情况下会内联
转载自:http://blog.youkuaiyun.com/zy1691/article/details/3606128最近有个朋友研究了一下虚函数内联的问题,我也对这个问题产生了兴趣,发现网上也有好多讨论这个问题的,众说纷纭,于是花了点时间研究了一下。自己在vc下做了一些实验,通过观察各种情况下汇编代码,以及了一些资料的记载得出以下结论:虚函数是可以内联的据我所知有转载 2015-04-18 11:32:45 · 865 阅读 · 0 评论 -
6 Python Performance Tips
6 Python Performance TipsBy John Paul MuellerPosted in Tech Topics 21 January 2015 Python is such a cool language because you can do so much with it in such a short time with so little c转载 2015-02-20 13:18:03 · 735 阅读 · 0 评论 -
static变量的初始化,生存期,作用域
1、初始化。全局static变量的初始化在编译的时候进行。在main函数被调用之前初始化,并且,只初始化一次。函数static变量在函数中有效,第一次进入函数初始化。以后进入函数将沿用上一次的值。2、生存期。生存期,是main第一次执行,直到程序结束。比如下代码:#include #include int main() {转载 2015-02-16 22:02:11 · 1376 阅读 · 0 评论 -
有关 list 内存释放的小技巧
用python也有一段时间了,有了不少体会。平时老写要求效率很高的程序,发现python真的很不错。但是对于超大list的数据,内存经常需要立即释放。我总结了一些有关性能的技巧,看看大家能不能用上。1。大数据量的list,要进行局部元素删除,尽量避免用del随机删除,非常影响性能,如果删除量很大,不如直接新建list,然后用下面的方法释放清空旧list。2。对于一般性数据量超大的l转载 2014-12-17 13:41:41 · 8584 阅读 · 0 评论 -
realloc
1. realloc失败的时候,返回NULL2. realloc失败的时候,原来的内存不改变,也就是不free或不move,(这个地方很容易出错)3. 假如原来的内存后面还有足够多剩余内存的话,realloc的内存=原来的内存+剩余内存,realloc还是返回原来内存的地址; 假如原来的内存后面没有足够多剩余内存的话,realloc将申请新的内存,然后把原来的内存数据拷贝到新内存里转载 2014-12-15 21:09:21 · 430 阅读 · 0 评论 -
NULL和NUL
NULL和NUL ① NULL: 定义为0或0L或(void *)0,用于指示一个指针值是空,即什么都不指;② '\0': 用且只用字符串结束符,为字符常量; NUL是字符常量的名字;③ NUL: 0x00,0值字符,用于结束ASCII字符串,和'\0'类似(可以理解为别名),但是在c/c++中没有定义,如果要使用的话,需要自定义为 #define NUL '\0';转载 2014-11-28 01:07:40 · 691 阅读 · 0 评论 -
阶乘的尾递归形式
以尾递归的形式定义计算 !原创 2014-10-17 02:28:02 · 3977 阅读 · 0 评论 -
Java中的参数传递方式
无论是什么语言,要讨论参数传递方式,就得从内存模型说起,主要是我个人觉得从内存模型来说参数传递更为直观一些。闲言少叙,下面我们就通过内存模型的方式来讨论一下Java中的参数传递。这里的内存模型涉及到两种类型的内存:栈内存(stack)和堆内存(heap)。基本类型作为参数传递时,传递的是这个值的拷贝。无论你怎么改变这个拷贝,原值是不会改变的。看下边的一段代码,然后结合内存模型来说明问题转载 2014-10-17 03:18:52 · 508 阅读 · 0 评论 -
几种页面置换算法
地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断。当发生缺页中断时操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。常见的置换算法有:1)最佳置换算法(OPT)(理想置换算法)这是一种理想情况下的页面置换算法,但实际上是不可能实现的。该算法的基本思想是:发生缺页时,有些页面在内存中,其中有一页转载 2014-11-16 01:55:35 · 541 阅读 · 0 评论