上一页 1 ··· 126 127 128 129 130 131 132 133 134 ··· 140 下一页
摘要: 前几天,有位同学问我它们用起来有什么区别,当时也不大清楚,糊弄过去了,但是,人不能自欺欺人,不能连自己的无知也要糊弄!翻了下书,总结一下。区别:结构是一种用关键字struct声明的自定义数据类型。与类相似,也可以包含构造函数,常数,字段,方法,属性,索引器,运算符和嵌套类型等,不过,结构是值类型。1.结构的构造函数和类的构造函数不同。 a.结构不能包含显式的无参数构造函数。结构成员讲自动初始化为它们的默认值。 b.结构不能包含以下形式的初始值设定类:base(argument-list);2.对于结构中的实例字段成员,不能在声明时赋值初始化。3.声明了结构类型后,可以使用new运算符创建构造对 阅读全文
posted @ 2012-02-14 14:02 知识天地 阅读(518) 评论(0) 推荐(0)
摘要: 1.using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import,这个功能也是最常用的,几乎每个cs的程序都会用到。例如:using System; 一般都会出现在*.cs中。2.using别名。using + 别名 = 包括详细命名空间信息的具体的类型。这种做法有个好处就是当同一个cs引用了两个不同的命 名空间,但两个命名空间都包括了一个相同名字的类型的时候。当需要用到这个类型的时候,就每个地方都要用详细命名空间的办法来区分这些相同名字的类型。而 用别名的方法会更简洁,用到哪个类就给哪个类做别名声明就可以了。 阅读全文
posted @ 2012-02-14 14:02 知识天地 阅读(297) 评论(0) 推荐(0)
摘要: 3.4.1共享内存在相互通信的进程之间设有一个公共内存区,一组进程向该公内存中写,另一组进程从化共内存中读,通过这种方式实现两组进程间的信息交换。这种通信模式需要解决两个问题:第一个问题是怎样提供共享内存;第二个是公共内存的互斥关系则是程序开发人员的责任。3.4.2消息机制消息机制是用于进程间通信的高级通信原语之一。进程在动身过程中,台能需要与其他的进程进行进程交换,于是进程通过某种手段发出自己的消息或接收其他进程发来的消息。这种方式类似于人们通过邮局收发信件来实现交换信息的目的。至于通过什么手段收发消息,就像人们选择平信还是航空信一样,是一种具体的消息传递机制。1、 消息缓冲通信消息缓冲通信 阅读全文
posted @ 2012-02-14 14:01 知识天地 阅读(942) 评论(0) 推荐(0)
摘要: sealed的中文意思是密封,故名思义,就是由它修饰的类或方法将不能被继承或是重写。 sealed关键字的作用: 在类声明中使用sealed可防止其它类继承此类;在方法声明中使用sealed修饰符可防止扩充类重写此方法。 sealed修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。 密封类: 密封类在声明中使用sealed 修饰符,这样就可以防止该类被其它类继承。如果试图将一个密封类作为其它类的基类,C#将提示出错。理所当然,密封类不能同时又是抽象类,因为抽象总是希望被.. 阅读全文
posted @ 2012-02-14 14:00 知识天地 阅读(1641) 评论(0) 推荐(0)
摘要: 如果您是个经验丰富的 ASP.NET 开发人员,一提起 ViewState ,您可能会不寒而栗,因为您想到的是大量通过“鸡尾酒吸管”吸入的 Base64 编码数据。除非采取步骤进行预防,否则大部分 ASP.NET 页面将有大量辅助数据被存储在一个名为 __VIEWSTATE 的隐藏字段中,多数情况下,甚至不需要这个字段。浏览用 ASP.NET 生成的您喜爱的站点,查看页面源代码,计算隐藏在 __VIEWSTATE 字段中的字符数。我尝试了一下,数量为 800 到 7,800 个字符。当然, ViewState 在 ASP.NET 中有个重要的角色。如果使用恰当,它能够简化页面开发,改进用户与站 阅读全文
posted @ 2012-02-14 14:00 知识天地 阅读(275) 评论(0) 推荐(0)
摘要: 一.简介 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class A{public:virtual void foo() { cout << "A::foo() is called" << endl;}};class B: public A{public:virtual void foo() { cout << "B::foo() is called" << endl;}};那么,在使用的时候,我们可以:A * a = n 阅读全文
posted @ 2012-02-14 13:59 知识天地 阅读(278) 评论(0) 推荐(0)
摘要: 新做了服务器,cp覆盖时,无论加什么参数-f之类的还是提示是否覆盖,这在大量cp覆盖操作的时候是不能忍受的。 把a目录下的文件复制到b目录 以下是代码片段: cp –r a/* b 执行上面的命令时,b存在的每个文件都会提示是否覆盖; 以下是代码片段: cp –r –f a/* b 执行上面的命令时,b存在的每个文件都不再会提示; 这是我们希望的理想状态,但是有时加了-f了,怎么还会有提示呢?原来一些服务器会默认增加别名 alias cp='cp -i',当你执行cp时,其实执行的是cp –i。 在终端执行alias就可以看出来了。 以下是代码片段: [root@devd... 阅读全文
posted @ 2012-02-14 10:54 知识天地 阅读(561) 评论(0) 推荐(0)
摘要: 一般认为在c中分为这几个存储区1栈 - 有编译器自动分配释放2堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放4另外还有一个专门放常量的地方。 - 程序结束释放在函数体中定义的变量通常是在栈上,用malloc, calloc, realloc等分配内存的函数分配得到的就是在堆上。在所有函数体外定义的是全局量,加了static修饰符后不管在哪里都存放在全局区(静态区),在所有函数体外定义的static变量表 阅读全文
posted @ 2012-02-13 17:29 知识天地 阅读(739) 评论(0) 推荐(0)
摘要: 锁的类型有三种:共享(S)锁:多个事务可封锁一个共享页;任何事务都不能修改该页; 通常是该页被读取完毕,S锁立即被释放。排它(X)锁:仅允许一个事务封锁此页;其他任何事务必须等到X锁被释放才能对该页进行访问;X锁一直到事务结束才能被释放。更新(U)锁:用来预定要对此页施加X锁,它允许其他事务读,但不允许再施加U锁或X锁;当被读取的页将要被更新时,则升级为X锁;U锁一直到事务结束时才能被释放。 阅读全文
posted @ 2012-02-13 17:24 知识天地 阅读(21701) 评论(0) 推荐(0)
摘要: 说法一:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行说法二:进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:简而言之,一个程序至少有一个进程,一个进程至 阅读全文
posted @ 2012-02-13 17:24 知识天地 阅读(356) 评论(0) 推荐(0)
上一页 1 ··· 126 127 128 129 130 131 132 133 134 ··· 140 下一页