
c、cpp、c#语言
文章平均质量分 78
吉祥zqy
这个作者很懒,什么都没留下…
展开
-
C++中抽象类和接口类的区别
(源自:http://blog.sina.com.cn/s/blog_49652a2d0100fk3n.html)Bill Venners:我在1991至1996这5年间,几乎一直仅仅使用C++编程。在那时,我认为多重继承唯一目的就是让我能够从多个基类中继承它们各自的数据和函数 — 不管是虚拟函数还是非虚拟函数。那时候,我和我使用C++的同事几乎从未想过可以使用一种不含任何数据而仅包含纯虚原创 2014-04-14 20:11:55 · 7342 阅读 · 0 评论 -
C++四种类型转换
C++提供了四种新式类型转换(常常被称为new-st)原创 2014-04-25 15:47:05 · 747 阅读 · 0 评论 -
关于c++中const
默认情况下,constant对象被设定为仅在文件内有效。当多个原创 2014-04-09 11:57:59 · 816 阅读 · 0 评论 -
union
Union的特点:1. union中可以定义多个成员,union的大小由最大的成员的大小决定。2. union成员共享同一块大小的内存,一次只能使用其中的一个成员。3. 对某一个成员赋值,会覆盖其他成员的值(也不奇怪,因为他们共享一块内存) 下面转自http://blog.youkuaiyun.com/jiangnanyou原创 2014-04-09 10:37:35 · 1015 阅读 · 0 评论 -
c语言实现cpp中的引用传递
C语言不存在按引用传递,一切都是按值传递。这是由C语言的特点决定的,C语言中不需要按引用传递,因为指针技术完全可以理所当然地实现同样的目的。而C#和Java 这类不允许指针的语言,就必须区别这两种传递方式。在C中,唯一容易弄混的地方是,传递的参数是数组,如下:void fun(char *s,int a) {}或者void fun(char s[],int a) {}首原创 2014-04-09 10:37:50 · 2303 阅读 · 1 评论 -
线程的IsBackground属性
.Net的公用语言运行时(Common LanguageRuntime,CLR)能区分两种不同类型的线程:前台线程和后台线程。这两者的区别就是:应用程序必须运行完所有的前台线程才可以退出;而对于后台线程,应用程序则可以不考虑其是否已经运行完毕而直接退出,所有的后台线程在应用程序退出时都会自动结束。.net环境使用Thread建立的线程默认情况下是前台线程,即线程属性IsBackground=原创 2014-04-09 10:37:46 · 5815 阅读 · 0 评论 -
C_语法_宏定义define和函数的作用…
要写好C语言,漂亮的宏定义是非常重要的。宏定义可以帮助我们防止出错,提高代码的可移植性和可读性等。在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义。那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍。我们来看一个例子,比较两个数或者表达式大小,首先我们把它写成宏定义:#define MAX( a, b) ( (a) >原创 2014-04-09 10:37:22 · 3330 阅读 · 1 评论 -
讲讲volatile的作用
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1). 并行设备的硬件寄存器(如:状态寄存器) 2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic var原创 2014-04-09 10:37:15 · 412 阅读 · 0 评论 -
字符串和整数相互转化
模拟atoi函数。enum Status{kValid=0,kInvalid};int g_nStatus=kValid;long long StrToIntCore(const char* digit,bool minus){ long long num=0; while(*digit!='\0'){ if(*digit>='0' && *digit<='9'){ int f原创 2014-04-10 22:22:42 · 562 阅读 · 0 评论 -
2014/04/12微软实习生在线测试题
昨天参加微软DescriptionFor this question, your program is required to process an input string containing only ASCII characters between ‘0’ and ‘9’, or between ‘a’ and ‘z’ (including ‘0’, ‘9’, ‘a原创 2014-04-13 21:33:34 · 1017 阅读 · 0 评论 -
(*(volatileunsigned ……
#define GPIO_CTL_BASE0x56000000 #define rTCFG0 (*(volatileunsigned *)0x51000000)#define rTCFG1 (*(volatileunsigned *)0x51000004)#d原创 2014-04-09 10:37:17 · 548 阅读 · 0 评论