
编程C/C++
quintard
这个作者很懒,什么都没留下…
展开
-
静态成员数据和静态成员函数
在没有讲述本章内容之前如果我们想要在一个范围内共享某一个数据,那么我们会设立全局对象,但面向对象的程序是由对象构成的,我们如何才能在类范围内共享数据呢? 这个问题便是本章的重点: 声明为static的类成员或者成员函数便能在类的范围内共同享,我们把这样的成员称做静态成员和静态成员函数。 下面我们用几个实例来说明这个问题,类的成员需要保护,通常情况下原创 2012-10-24 14:26:00 · 892 阅读 · 0 评论 -
【转】c格式化输出
一、printf()函数 printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为: printf(\"\", ); 其中格式化字符串包括两部分内容:一部分是正常字符, 这些字符将按原样输出, 另一部分是格式化规定字符,以\"%\"开始,后跟一个或几个规定字符用来确定输出内容格式。 参量表是需要输出的一系列参原创 2012-10-24 14:26:01 · 711 阅读 · 0 评论 -
【转载】c排序
#include #include #include #include #include #define N 25000 // 待排序元素的个数 void insertsort(int R[N+1]) // 直接插入排序{ int i,j; for (i=2; i<=N; i++) { R[0]=R; // 设置监视哨 j=i-1; while (R[0]<R[j])原创 2012-10-24 14:26:00 · 440 阅读 · 0 评论 -
Hanoi(汉诺)塔问题
Hanoi(汉诺)塔问题。这是一个古典的数学问题,是一个用递归方法解题的典型例子。问题是这样的:古代有一个梵塔,塔内有3 个座A、B、C,开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把这64个盘子从A座移到C座,但每次只允许移动一个盘, 且在移动过程中在3个座上都始终保持大盘在下,小盘在上。在移动过程中可以引用B座,要求编程序输出移动的步骤。 读者是不大可能直接写出移原创 2012-10-24 14:26:00 · 1016 阅读 · 0 评论 -
sprintf函数的用法
【评论】 【打印】 【字体:大原创 2012-10-24 14:26:00 · 336 阅读 · 0 评论 -
最常用的12种设计模式小结
1.策略模式(Strategy): 定义了算法家族, 分别封装起来, 让它们之间可以互相替换. 比如Collections.sort(List list, Comparator c); 可以通过实现多个Comparator接口来达到多种排序的目的. 2.装饰着模式(Decorator): 动态的给一个对象添加一些额外的职责. 比如java.io包. BufferedInputStream封装了Fi原创 2012-10-24 14:26:00 · 361 阅读 · 0 评论 -
静态成员函数调用非静态成员变量
程序最终都将在内存中执行,变量只有在内存中占有一席之地时才能被访问 类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问;非静态成员(变量和方法)属于类的对象,所以只有在类的对象产生(创建类的实例)时才会分配内存,然后通过类的对象(实例)去访问。 在一个类的静态成员中去访问其非静态成员之所以会出错是因为在类的非静态成员不存在的时候类的静态原创 2012-10-24 14:26:00 · 688 阅读 · 0 评论 -
[转]memcpy和memmov
void* memcpy(void* dest, void* source, size_t count) { void* ret = dest; //copy from lower address to higher address while (count--) *dest++ = *source++;原创 2012-10-24 14:26:01 · 1002 阅读 · 0 评论 -
抽象类和接口
目录 1.抽象类 2.接口 3.区别 4.附录 1.抽象类 1.1什么是抽象类 抽象类是一个类,它由一些抽象的方法和属性组成。所谓抽象的方法就是一些只定义了方法的基本信息(如方法名,返回类型,参数信息),而没有具体实现的代码的方法。原创 2012-10-24 14:26:00 · 292 阅读 · 0 评论 -
对线程控制 中 Sleep(0),和 Sleep(1)
【原文地址】http://blog.youkuaiyun.com/qinwei/article/details/5728393 说明: 笔者在 网上看到的对Sleep(0)的理解如下: /* 本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/burningcpu/archive/2008/09/20/2955275.aspx Sleep(n原创 2012-10-24 14:26:00 · 485 阅读 · 0 评论 -
几种进程间的通信方式
# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时原创 2012-10-24 14:26:00 · 302 阅读 · 0 评论 -
线程同步方法
概述 线程同步可以采用多种方式。可以在用户方式下实现,也可以在内核方式下实现。前者的优势在于速度快,因为不用在用户方式和内核方式之间切换,但只能用于同一个进程内的线程之间的同步;后者是使用内核对象的方式,速度虽慢,但可以用于不同进程之间的线程同步。而且后者相对前者方法丰富许多,功能也强大许多。用户方式下的线程同步互锁函数组 下列函数可以以原子的方式进行操作(即或者全做,或者全不做,原创 2012-10-24 14:26:00 · 322 阅读 · 0 评论 -
使用volatile
unsigned long *p p=((unsigned long *) 0x80001000); 上面2句可以写成 unsigned long *p=((unsigned long *) 0x80001000); *p=0x55555555, 就是给地址 0x80001000 写 0x55555555 #define AT91C_SDRAM ((unsigned int *) 0x 200原创 2012-10-24 14:25:59 · 347 阅读 · 0 评论 -
【引用】用rand()和srand()产生伪随机数的方法总结
赤龙用rand()和srand()产生伪随机数的方法总结---------------------------------标准库(被包含于中)提供两个帮助生成伪随机数的函数:函数一:int rand(void);从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。函数二:void srand(unsigned seed);参数see原创 2012-10-24 14:25:59 · 267 阅读 · 0 评论 -
TCP/IP 连接三次握手与释放四次握手
1、建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。 (2)服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通 讯。 (3)客户必须再次回应服务段一个ACK报文,这是报文段3。 2、连接终止协议(四次原创 2012-10-24 14:26:00 · 509 阅读 · 0 评论 -
【引用】const与define
常量: 用宏表示常数 假如我们要写一个有关圆的种种计算的程序,那么∏(3.14159)值会被濒繁用到。我们显然没有理由去改∏的值,所以应该将它当成一个常量对待,那么,我们是否就不得不一遍一遍地写3.14159这一长串的数呢?这就用到了宏。宏不仅可以用来代替常数值,还可以用来代替表达式,甚至是代码段。宏的语法为: #define 宏名称 宏值 比如要代替前面说到的∏值,应为:#define P原创 2012-10-24 14:25:59 · 305 阅读 · 0 评论 -
50条忠告:(其中有几条觉得写的不够贴切,所以删了,发了余下的部分)
1.把C++当成一门新的语言学习; 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; 5.不原创 2012-10-24 14:26:00 · 341 阅读 · 0 评论 -
Visual Studio 2015简体中文企业版/专业版下载+有效激活密钥
原文地址:https://www.cnblogs.com/bwlluck/p/5514424.htmlVisual Studio 2015是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Window...转载 2019-07-06 02:14:50 · 1480 阅读 · 0 评论