- 博客(40)
- 资源 (1)
- 收藏
- 关注
原创 《C#与.NET3.0高级程序设计》摘要-----第三章 C#语言基础
第三章 C#语言基础3.1、剖析一个简单的C#程序1.简单示例 C#要求所有的程序逻辑都包含在一个类型定义中。 using System; class HelloClass { public static int Main(string[] args) { Co
2010-03-02 16:08:00
1836
原创 《C#与.NET3.0高级程序设计》摘要----第二章 构建C#应用程序
第二章 构建C#应用程序一、CSC相关1.1、各个选项1、/out 本选项用于指定将被构建出的程序集名称。默认条件下,程序集的名字或与最初输入的*.cs文件名字相同(生成*.dll文件的情况下),或者与包含程序的Main()方法的那个类型的名字相同(生成*.exe文件的情况下)。2、/target:exe 本选项构建一个可执行的控制台程序。默认的输出类型
2010-03-02 14:55:00
687
原创 《C#与.NET3.0高级程序设计》摘要-----第一章 .NET之道
第一章 .NET之道一、.NET框架的一些核心功能1、对已有具有完全的互操作性 已有的COM二进制组件可以和更新的.NET二进制组件共存,反之亦然。利用平台调用(PInvoke)服务可以在.NET的代码里调用基于C的库。2、完全的语言集成 支持跨语言继承、跨语言异常处理和跨语言的调试。 3、所有支持.NET的语言共用公共运行库引擎
2010-03-02 14:53:00
668
原创 《C#与.NET3.0高级程序设计》摘要-----写在前面的话
以前写过这本书的读书笔记,基本是自己理解的总结,但是没有坚持下来,后来找到工作后又看了这本书的一部分,写了一些摘要性质的东西,较为忠实的记录作者的思路,是在google docs上写的,遗憾的是也没有完成,谴责下自己。 现在工作了,也比较忙,偶然从google docs里翻出曾经写的这些东西,觉得还是发出来比较好,并且还要继续写下去,每天坚持写一些。 谨以自勉。
2010-03-02 14:40:00
496
转载 C#编码规范ZZ
(摘录)C#编码规范 1 文件组织1.1 C#源文件把每个类都放在单独的文件中,文件名字和类名一致(用.CS作为扩展名)。类文件不要太长,不要超过2000LOC。必要时,分割代码,使结构更清晰。1.2 目录安排为每个命名空间创建一个目录(如,对于MyProject.TestSuite.TestTier使用MyProject/TestSuite/TestTier作
2009-03-12 14:29:00
745
转载 [转]用C++ 设计一个不能被继承的类
分析:这是Adobe 公司2007 年校园招聘的最新笔试题。这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目。在Java 中定义了关键字final ,被final 修饰的类不能被继承。但在C++ 中没有final 这个关键字,要实现这个要求还是需要花费一些精力。首先想到的是在C++中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父
2008-12-29 10:23:00
597
转载 各种排序方法的综合比较
各种排序方法的综合比较结论: 排序方法 平均时间 最坏时间 辅助存储 简单排序 O(n2) O(n2) O(1) 快速排序 O(nlogn) O(n2) O(logn) 堆排序 O(nlogn) O(nlogn) O(1) 归并排序 O(nlogn) O(nlogn) O(n) 基数排序 O(d(n+rd)) O(d(n+rd)) O(rd)另外:直接插
2008-12-20 22:47:00
865
转载 虚继承之单继承的内存布局
C++2.0以后全面支持虚函数与虚继承,这两个特性的引入为C++增强了不少功能,也引入了不少烦恼。虚函数与虚继承有哪些特性,今天就不记录了,如果能搞了解一下编译器是如何实现虚函数和虚继承,它们在类的内存空间中又是如何布局的,却可以对C++的了解深入不少。这段时间花了一些时间了解这些玩意,搞得偶都,不过总算有些收获,嘿嘿。先看一段代码class A{ virtual aa(){};
2008-11-06 18:57:00
536
转载 浅谈C中的malloc和free
浅谈C中的malloc和free在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!
2008-11-06 16:39:00
605
转载 认识 C++ 中的 explicit 关键字
认识 C++ 中的 explicit 关键字(Danny Kalev发表于2004-12-28 11:01:04)带单一参数的构造函数在缺省情况下隐含一个转换操作符,请看下面的代码:class C {int i;//...public: C(int i);//constructor and implicit conversion operator//as well};void f
2008-11-06 09:13:00
561
转载 定点数二进制表示
闲扯原码、反码、补码 相信大家看到这个标题都不屑一顾,因为在任何一本计算机基础知识书的第一章都有他们的解释,但是在书上我们只能找到一些简单的定义,没次看过之后不久就忘了。最近论坛里有人问起这些概念,看到很多人的回复是以前看过现在忘了去看看某某书之类,很少有给出一个合理的解释。于是本人就开始思考(虽然上帝会发笑,我还是要思考。),于是得出了以下的结论。 数值在计算机中
2008-11-05 19:47:00
6687
1
原创 操作系统复习四(存储器管理)
基本内容 1:基本概念 1.1 :程序的装入与重定位绝对装入方式可重定位装入方式与静态重定位(逻辑地址的概念),是在装入时由重定位装入程序一次性完成的,不允许模块在内存中移动。动态运行时装入方式与动态重定位:重定位是在程序真正执行时进行。需要重定位寄存器的支持。 1.2:程序的链接静态链接方式:程序运行前,将各目标模块及它们所需要的库函数,链接成一个完成的装
2008-11-05 15:38:00
1506
转载 整除规则
数的整除的特征 (1)1与0的特性: 1是任何整数的约数,即对于任何整数a,总有1|a. 0是任何非零整数的倍数,a≠0,a为整数,则a|0. (2)若一个整数的末位是0、2、4、6或8,则这个数能被2整除。 (3)若一个整数的数字和能被3整除,则这个整数能被3整除。 (4) 若一个整数的末尾两位数能被4整除,则这个数能被4整除。 (5)若一个整数的末位是0或
2008-11-03 09:44:00
2224
转载 big_endian和little_endian的说明
big_endian 、little_endian 用于自动改变二进制位存放顺序 Big Endian and Little Endian 谈到字节序的问题,必然牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian方式存储数据,而x86系列则采用little endian方式存储数
2008-10-24 15:30:00
550
转载 互质数
小学数学教材对互质数是这样定义的:公约数只有1的两个自然数,叫做互质数。 这里所说的“两个数”是指除0外的所有自然数。 “公约数只有 1”,不能误说成“没有公约数。” 例: (1)两个不相同质数一定是互质数。 例如,2与7、13与19。 (2)一个质数如果不能整除另一个合数,这两个数为互质数。 例如,3与10、5与 26。 (3
2008-10-23 16:29:00
3016
转载 RAID0、RAID1、RAID0+1、RAID5原理介绍
RAID是通过磁盘阵列与数据条块化方法相结合, 以提高数据可用率的一种结构。IBM早于1970年就开始研究此项技术 。RAID 可分为RAID级别1到RAID级别6,通常称为: RAID 0, RAID 1, RAID 2, RAID 3,RAID 4,RAID5,RAID6。每一个RAID级别都有自己的强项和弱项. “奇偶校验”定义为用户数据的冗余信息, 当硬盘失效时, 可以重新产生
2008-10-23 13:23:00
639
原创 斐波那契数列
【该数列有很多奇妙的属性】 比如:随着数列项数的增加,前一项与后一项之比越逼近黄金分割0.6180339887…… 还有一项性质,从第二项开始,每个奇数项的平方都比前后两项之积少(请自己验证后自己确定)1,每个偶数项的平方都比前后两项之积多(请自己验证后自己确定)1。 如果你看到有这样一个题目:某人把一个8*8的方格切成四块,拼成一个5*13的长方形,故作惊讶地问你:为什么64
2008-10-23 13:02:00
1029
转载 平方数
数学上,平方数,或称完全平方数,是指可以写成某个整数的平方的数,即其平方根为整数的数。例如,9 = 3 × 3,它是一个平方数。·从1开始的n个奇数的和是一个完全平方数,n2——即 1+ 3+ 5+ 7+…+( 2n-1)=n2,例如 1+ 3+ 5+ 7+ 9= 25=52。·每一个完全平方数的末位数是0,1,4,5,6,或9。·每一个完全平方数要末能被3整除,要末减去1能被3整除。·
2008-10-23 11:04:00
2939
转载 C++ 虚函数表解析
C++ 虚函数表解析 陈皓http://blog.youkuaiyun.com/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板
2008-10-21 12:20:00
461
原创 操作系统总结三(处理机调度)
基本内容 1:基本概念高级调度:作业调度或长程调度。低级调度:进程调度或短程调度。非抢占式,抢占式。终极调度:中程调度。解决内存紧张。 2:调度算法先来先服务FCFS:作业调度或进程调度。非抢占式。很少作为进程调度主算法。 优点:简单,易于实现。 缺点:不利于短作业和I/O型作业。 短作业优先SJF/SPF:抢占或非抢占。进程调度。
2008-10-18 22:49:00
2729
1
原创 操作系统总结二(进程管理)
基本概念1:程序的顺序执行顺序性,封闭性,可再现性2:前趋图3:程序的并发执行间断性,失去封闭性,不可再现性4:进程的特征和定义结构特征。程序段,数据段,PCB动态性。由创建而产生,由调度而执行,由撤销而消亡。并发性:并发是引入进程的目的。独立性。独立运行,独立分配资源和独立接受调度异步性。5:进程的状态就绪,执行,阻塞,挂起6:进程控制块记录了os所需要的,用于描述进程的当前状态以及控制进程的全
2008-10-17 16:37:00
1439
转载 将字符串里词顺序倒置
将字符串里词顺序倒置,如"Times New Roman"变为"Roman New Times"。以空格为分隔符。解决方案为:先将整个字串倒置,然后依次把倒置后串中的每一个单词倒置。这个问题解答的思路很简单,但是要考虑到很多种的情况,比如字符串的头、尾有多余的空格怎么办,如果字符串中只有空格,还有字符串中间可能会有两个以上并列的空格。程序如下: 1 void ReverseStr(char *
2008-10-17 15:11:00
733
原创 单链表逆置,逆序输出
逆置伪代码void invert(SNode **Head){ assert(Head); assert(*Head); SNode *p,*q,*r; p=*Head; q=p->next; while(q) { r=q->next; q->next=p; p=q;
2008-10-17 10:34:00
706
转载 判断单链表是否存在环,判断两个链表是否相交问题详解
有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题:1、如何判断一个链表是不是这类链表?2、如果链表为存在环,如果找到环的入口点?解答:一、判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针
2008-10-17 10:25:00
935
原创 操作系统总结一(操作系统引论)
第一章:操作系统引论 一:操作系统目标和作用目标:方便性,有效性,可扩充性,开放性作用:从一般用户,资源管理,虚拟机,任务组织的观点分别看 二:操作系统发展1:人工操作系统2:脱机I/O3:单道批处理系统(自动型,顺序性,单道性)4:多道批处理系统(多道性,调度性,无序性)5:分时系统(多路性,独立性,及时性,交互性)6:实时系统 三:OS
2008-10-11 12:54:00
611
转载 对内联函数与普通函数的一些比较与分析
本文出处:http://blog.youkuaiyun.com/closeall2008声明: 本文可以不经作者同意, 任意复制, 转载, 但任何对本文的引用都请保留文章的作者, 出处以及声明信息. 谢谢. 我们知道c++通过内联函数对c语言进行了扩充,从而在某种程度上对程序的运行效率进行改进。然而普通函数与内联函数的区别不在于它们的编写方式上,而在于c++编译器对它们的理解、解释。
2008-10-08 16:47:00
639
转载 自动变量、静态变量的持续性、区域性、和链接性
作者:closeall 这里我想写一下变量的持续性、区域性、和链接性。先简单的介绍一下这三个属性是什么意思。所谓持续性就是说这个变量所持续的时间,即它在内存中存在的时间。区域性简单的说就是变量的作用域,就是说这个变量在哪个范围内有效的。链接性是说,这个变量是不是允许外部文件使用。先说自动变量。什么是自动变量呢 ?自动变量就是指在函数内部定义使用的变量。他只是允许在定义他的
2008-10-08 16:35:00
920
转载 论calloc和malloc的区别
函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别。malloc()函数有一个参数,即要分配的内存空间的大小:void*malloc(size_tsize);calloc()函数有两个参数,分别为元素的数目和每个元素的大小,这两个参数的乘积就是要分配的内存空间的大小。void*calloc(size_tnumElements,size_tsizeOfE
2008-10-08 16:10:00
932
转载 详解link
详解link有些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicatedexternalsimbol的错误信息不知所措(因为这样的错误信息不能定位到某一行)。或者对语言的一些部分不知道为什么要(或者不要)这样那样设计。了解本文之后,或许会有一些答案。 首先看看我们是如何写一个程序的。如果你在使用某种IDE(Visual S
2008-10-05 14:43:00
755
转载 字符串逆序输出
#include #include int main() { char *s,*p,*q; int x,t; s=new char[20]; cin>> s; cout x=strlen(s); p=s+x-1; q=s; for(int i=0;i { t=*q;
2008-09-25 13:00:00
467
转载 strcpy ,strncpy ,strlcpy地用法
strcpy ,strncpy ,strlcpy地用法好多人已经知道利用strncpy替代strcpy来防止缓冲区越界。但是如果还要考虑运行效率的话,也许strlcpy是一个更好的方式。1. strcpy我们知道,strcpy 是依据 /0 作为结束判断的,如果 to 的空间不够,则会引起 buffer overflow。strcpy 常规的实现代码如下(来自 OpenBSD 3.9):
2008-09-24 21:36:00
654
转载 经典题目:strcpy函数
题目:已知strcpy函数的原型是:char * strcpy(char * strDest,const char * strSrc);1.不调用库函数,实现strcpy函数。2.解释为什么要返回char *。解说:1.strcpy的实现代码char * strcpy(char * strDest,const char * strSrc){if ((strDest==NULL)||(s
2008-09-24 21:30:00
567
转载 不用库函数,自己实现strcpy和memcpy函数;二者的区别
1.代码实现char* strcpy(char* strDest, const char* strSrc){ ASSERT(strDest != NULL && strSrc != NULL); char* strTmpD = strDest; while ((*strTmpD++ = *strSrc++) != 0) { } return strDest ;}void* mem
2008-09-24 21:29:00
1132
转载 各种排序算法的总结和比较
1 快速排序(QuickSort)快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。(1) 如果不多于1个数据,直接返回。(2) 一般选择序列最左边的值作为支点数据。(3) 将序列分成2部分,一部分都大于支点数据,另外一部分都小于支点数据。(4) 对两边利用递归排序数列。快速排序比大部分排序算法都要快。尽管我们可以在某些特殊的情况
2008-09-24 21:13:00
31645
2
转载 宏和内联函数的区别
先说宏和函数的区别:1. 宏做的是简单的字符串替换(注意是字符串的替换,不是其他类型参数的替换),而函数的参数的传递,参数是有数据类型的,可以是各种各样的类型.2. 宏的参数替换是不经计算而直接处理的,而函数调用是将实参的值传递给形参,既然说是值,自然是计算得来的.3. 宏在编译之前进行,即先用宏体替换宏名,然后再编译的,而函数显然是编译之后,在执行时,才调用的.因此,宏占用的是编译的时间,而函数
2008-09-16 21:27:00
1060
转载 内联函数与普通函数的区别是什么
问题: 内联函数与普通函数的区别是什么? 回答: 内联函数是代码被插入到调用者代码处的函数。如同 #define 宏,内联函数通过避免被调用的开销来提高执行效率,尤其是它能够通过调用(“过程化集成”)被编译器优化。 内联函数和宏很类似,而区别在于,宏是由预处理器对宏进行替代,而内联函数是通过编译器控制来实现的。而且内联函数是真正的函数,只是在需要用到的时候,内联函数像
2008-09-16 21:25:00
650
原创 VS2005项目模板和项模板丢失的问题
装了devexpress后,发现以前的项目打开后,要新添加项的时候,总是只显示devexpress有的那几个模板,以前的模板都丢失了。经过一番搜索,找到了解决办法。项目模板丢失现象:新建项目时以前的模板找不到了。项目模板丢失解决办法:找到 C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/ProjectTemplates目录(
2008-06-19 16:39:00
2921
原创 《C#与.NET3.0高级程序设计》读书笔记(三)
第五章(对象的生命周期)一:类、对象和引用 类是描述类型的实例在内存中什么样子的,对象是在托管堆中创建的类的实例,new返回的指向对象的引用,这个引用是存放在栈里的。二:对象生命周期的基础 1:法则:使用new关键字将一个对象分配在托管堆上,然后就不用再管。当一个对象从代码库的任何部分都不可达是,垃圾回收器会删除它。但不一定是在函数返回后立即回收。 2:CIL的new指令
2008-05-08 20:48:00
829
原创 《C#与.NET3.0高级程序设计》读书笔记(二)
C#笔记第四章“C#2.0面向对象编程”一:C#类类型 1、如果要用过new someClass()来创建新对象,必须重定义默认构造函数 2、仅仅返回类型不同不能重载 3、this关键字可以用来转发构造函数调用二、oop三大支柱:封装,继承,多态。继承有is-a和has-a的关系,多态靠虚拟和抽象来支持。三:C#封装支持。 1:传统访问方法和修改方法 2:类属性,其中
2008-05-07 15:04:00
812
原创 《C#与.NET3.0高级程序设计》读书笔记(一)
第三章:一:main带的参数可以直接访问args数组,也可以通过Environment类的静态函数GetCommandLineArgs获得。Environment类还包含其他有关应用程序和操作系统的有关信息。二:类必须在new之后才能用,c#不会将类类型分配到栈上三:之用定义构造函数,无需定义析构函数,因为c#有垃圾自动收集机制四:有关“分工:(separation of concerns)。类应
2008-05-07 11:28:00
804
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人