随笔分类 -  开发语言&编程思想

[C++] memset 和sizeof 的使用注意
摘要:因为使用C++写小题目时经常需要清除数组,这里记录下Memset函数的sizeof运算符的使用注意。memset的特点是:将给定地址后连续的内存(包括给定地址),逐个byte初始化为参数中指明的值。因为是逐byte初始化,所以memset一般只用来清空(赋值为0)如果不赋值为0,结果是什么呢?假设对... 阅读全文

posted @ 2015-01-13 11:11 Felix Fang 阅读(5938) 评论(0) 推荐(1)

[C#] 类型学习笔记三:自定义值类型
摘要:既前两篇之后,这一篇我们讨论通过struct 关键字自定义值类型。在第一篇已经讨论过值类型的优势,节省空间,不会触发Gargage Collection等等。在对性能要求比较高的场景下,通过struct代替类是不错的选择。那么,比如我们定义一个Point 类型,里面包含两个左边X, Y。 public struct Point { public int X; public int Y; public Point(int x, int y) { X = x; Y = y; ... 阅读全文

posted @ 2014-03-30 08:04 Felix Fang 阅读(6244) 评论(0) 推荐(1)

[C#] 类型学习笔记二:详解对象之间的比较
摘要:继上一篇对象类型后,这里我们一起探讨相等的判定。相等判断有关的4个方法CLR中,和相等有关系的方法有这么4种:(1) 最常见的 == 运算符(2) Object的静态方法ReferenceEquals(3) Object的静态方法Equals(4)Object.Equals()方法,这是一个virtual method"==" 运算符首先要知道"==" 是一个运算符,它只有在两边都为相同类型时才能通过编译。假设“==” 没有被我们显示地重载过,当它的两边都是引用类型时,"=="在左右两边引用同一个对象时返回true,它的作用和(1)中 阅读全文

posted @ 2014-03-30 06:24 Felix Fang 阅读(6656) 评论(0) 推荐(0)

[C#] 类型学习笔记一:CLR中的类型,装箱和拆箱
摘要:在学习.NET的时候,因为一些疑问,让我打算把.NET的类型篇做一个总结。总结以三篇博文的形式呈现。这篇博文,作为三篇博文的第一篇,主要探讨了.NET Framework中的基本类型,以及这些类型一些重要的特性。第二篇中,我会探讨.NET 是如何实现两个对象的比较的,其中会用到第一篇中的基础和结论。... 阅读全文

posted @ 2014-03-17 06:54 Felix Fang 阅读(2968) 评论(0) 推荐(1)

[C#] 小记 new 和 override 关键字
摘要:C#要想实现函数的override,要求和C++一样,父类的函数必须用virtual关键字注明,随后在子类中用override关键字表明重写的函数。子类同名函数定义时,如果什么都不写,或者使用new 关键字,效果都表示父类的同名函数将被隐藏。也就是说,子类有子类的函数,父类有父类的函数,井水不犯河水... 阅读全文

posted @ 2014-03-10 09:34 Felix Fang 阅读(380) 评论(0) 推荐(0)

[C#] 主要容器及其数据结构
摘要:C# 容器可以分为无Generic时代 和 Generic时代。Generic是C# 2.0时的产物。在System.Collections.Generic,也就是泛型命名空间出现以前。常用的是System.Collections 命名空间下的容器,包括ArrayList,Stack, SortedList, Queue等等。这些容器有一个共同特点:其存储的元素都是object。这就意味着,比如ArrayList,它可以同时存放各种类型的数据,因为所有的类型都会转化为object存储,访问元素时会自动提出数据。这样的过程,我们称其为“装箱”和“拆箱”(boxing and unboxing)。 阅读全文

posted @ 2014-03-04 12:20 Felix Fang 阅读(16347) 评论(0) 推荐(0)

导航