![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++/JAVA
happyzhouxiaopei
这个作者很懒,什么都没留下…
展开
-
C语言宏定义时#(井号)和##(双井号)的用法
#在英语里面叫做 pound在C语言的宏定义中,一个#表示字符串化;两个#代表concatenate在宏定义中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),即无论后面的宏变量是字符串还是常量,都当成字符来处理。而## 被称为连接符(concatenator),用来将两个Token连接为一个Token。注意这里连接的对象是Token就行,而不一定是转载 2015-03-20 14:46:57 · 3823 阅读 · 0 评论 -
回调函数
机机制编辑⑴定义一个回调函数;⑵提供函数实现的一方在初始化的时候,将回调函数的函数指针注册给调用者;⑶当特定的事件或条件发生的时候,调用者使用函数指针调用回调函数对事件进行处理。2意义编辑因为可以把调用者与被调用者分开,所以调用者不关心谁是被调用者。它只需知道存在一个具有特定原型和限制条件的被调用函数。简而言之,回调函数就是允许用户把需要调用的方法的转载 2015-03-16 13:37:27 · 473 阅读 · 0 评论 -
C语言 读写文件
"r" 打开一个用于读取的文本文件"w" 创建一个用于写入的文本文件"a" 附加到一个文本文件"rb" 打开一个用于读取的二进制文件"wb" 创建一个用于写入的二进制文件"ab" 附加到一个二进制文件"r+" 打开一个用于读/写的文本文件"w+" 创建一个用于读/写的文本文件"a+" 打开一个用于读/写的文本文件“rt” 只读原创 2015-02-27 15:28:57 · 484 阅读 · 0 评论 -
数组指针 与 指针数组
一、指针数组和数组指针的内存布局初学者总是分不出指针数组与数组指针的区别。其实很好理解:指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道。它是“指向数组的指针”的简称。下面到底哪个是数组指针,哪个是指针数转载 2015-01-20 09:23:42 · 412 阅读 · 0 评论 -
strcpy和memcpy的区别
strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。转载 2015-02-05 18:16:06 · 412 阅读 · 0 评论 -
strtol函数
转自http://hi.baidu.com/qwpsmile/blog/item/9bc44efa4f41018a9f514637.html+----------------+| strtol |+----------------+i.e. string to longlong int strtol(const char *nptr转载 2015-02-05 18:15:35 · 462 阅读 · 0 评论 -
HRESULT类型
简单地说,就是判断函数执行结果。COM要求所有的方法都会返回一个HRESULT类型的错误号。HRESULT 其实就一个类型定义:typedef LONG HRESULT;HRESULT 类型的返回值反映了函数中的一些情况,其类型定义规范如下: 31 30 29 28 16 15转载 2014-12-22 15:03:34 · 859 阅读 · 0 评论 -
C++ 虚函数
虚函数联系到多态,多态联系到继承。所以本文中都是在继承层次上做文章。没了继承,什么都没得谈。下面是对C++的虚函数这玩意儿的理解。一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始)简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形转载 2014-12-04 15:31:55 · 407 阅读 · 0 评论 -
makefile
makefile基础篇:http://blog.csdn.net/zhouyulu/article/details/8395013makefile升级篇:http://blog.csdn.net/zhouyulu/article/details/8449263转载 2014-12-19 17:51:14 · 491 阅读 · 0 评论 -
[C/C++]static关键字用法总结
最近经历了一些笔试和面试,经常会被问到static关键字的作用,感觉虽然知道一些,但每次回答的都不够满意,今天在网上查了一下,总结总结,恩,以备后用! static关键字是C, C++中都存在的关键字。static从字面理解,是“静态的“的 意思,与此相对应的,应该是“动态的“。static的作用主要有以下3个:1、扩展生存期;2、限制作用域;3、唯一性; 1、扩展转载 2012-10-14 22:44:50 · 646 阅读 · 0 评论 -
JAVA笔试题
2013最新JAVA笔试题 一、 单项选择题(每题2分 2x9=18分)1.Java是从( )语言改进重新设计。A.Ada B.C++ C.Pasacal D.BASIC2.下列语句哪一个正确( )A. Java程序经编译后会产生machine codeB. Java程序经编译后会产生byte codeC. Java程序经编译后会产生DLLD.转载 2012-10-12 20:00:41 · 749 阅读 · 0 评论 -
虚函数和纯虚函数的区别
首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。1、简介假设我们有下面的类层次:[cpp] view plaincopy转载 2012-10-10 22:33:02 · 490 阅读 · 0 评论 -
typedef与define比较 typedef用法
typedef与define 比较主要的几点感悟:1、typedef和definetypedef 在编译时被解释,define在预处理时被替换。#define定义“可读”的常量以及一些宏语句的任务,而typedef则常用来定义关键字、冗长的类型的别名。 ____宏定义只是简单的字符串代换(原地扩展),而typedef则不是原地扩展,它的新名字具有一定的封装性,以致于新命名的标识转载 2012-10-10 22:30:29 · 547 阅读 · 0 评论 -
Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition
在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法消费队列中的商品,就不会让队列有空间,那么生产者就会一直无限等待下去。因此,一般情况下,当队列满时,会让生产者交出对临界转载 2015-03-18 09:54:34 · 565 阅读 · 0 评论