
编程语言
文章平均质量分 64
jemmy
这个作者很懒,什么都没留下…
展开
-
指针与引用的区别
指针与引用看上去完全不同(指针用操作符’*’和’->’,引用使用操作符’.’),但是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。你如何决定在什么时候使用指针,在什么时候使用引用呢? 首先,要认识到在任何情况下都不能用指向空值的引用。一个引用必须总是指向某些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时你应该把变量声明为指针,因为这样你原创 2005-07-11 14:39:00 · 976 阅读 · 0 评论 -
条款六:自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别
条款六:自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别 很久以前(八十年代),没有办法区分++和--操作符的前缀与后缀调用。这个问题遭到程序员的报怨,于是C++语言得到了扩展,允许重载increment 和 decrement操作符的两种形式。 然而有一个句法上的问题,重载函数间的区别决定于它们的参数类型上的差异,但是不论是increment或decre原创 2005-08-08 16:02:00 · 1805 阅读 · 1 评论 -
编写 "纯HTML" jsp应用--学会使用 JSTL
刚开始用JSP做web应用的时候,象使用PHP,ASP一样用JSP,在HTML代码中夹杂着一大堆的 scriptlet---即java 代码段。由于本人的“排版”技术还算可以,开始的时候觉得挺好,编写“效率”高,调试又方便!到了后来才知道---这是一种极其愚蠢的做法儿----JSP诞生的时候就已经明确与ASP,PHP划清了界限,使用javaBean、Servlet可以有效的将HTML中夹杂的jav原创 2005-08-10 12:35:00 · 845 阅读 · 0 评论 -
Use iterators and [] rather than at() when you want to optimize speed;
Use iterators and [] rather than at() when you want to optimize speed;原创 2005-08-19 17:04:00 · 840 阅读 · 0 评论 -
如何判断一个单向链表是否有环路?
struct list{ int data; struct list *next; }; int has_circle(struct list *head) { struct list *cur1 = head; int pos1 = 0; while(cur1) { struct list *cur2 = head;原创 2005-08-31 22:55:00 · 1197 阅读 · 0 评论 -
二叉树遍历
如何用栈实现递归与非递归的转换 一.为什么要学习递归与非递归的转换的实现方法? 1)并不是每一门语言都支持递归的. 2)有助于理解递归的本质. 3)有助于理解栈,树等数据结构. 二.递归与非递归转换的原理. 递归与非递归的转换基于以下的原理:所有的递归程序都可以用树结构表示出来.需要说明的是, 这个"原理"并没有经过严格的数学证明,只是我的一个猜想,不过在至少在我遇到的例子原创 2005-08-30 21:27:00 · 2228 阅读 · 0 评论 -
C#中的“装箱”(boxing)与“拆箱”(unboxing)
C#中的“装箱”(boxing)与“拆箱”(unboxing)以下正文:装箱和拆箱:任何值类型、引用类型可以和object(对象)类型之间进行转换。装箱转换是指将一个值类型隐式或显式地转换成一个object类型,或者把这个值类型转换成一个被该值类型应用的接口类型(interface-type)。把一个值类型的值装箱,就是创建一个object实例并将这个值复制原创 2005-10-15 20:32:00 · 1419 阅读 · 0 评论 -
掌握 Ajax,第 1 部分: Ajax 简介
Brett McLaughlin, 作家,编辑, OReilly and Associates2006 年 1 月 04 日Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序。本文的作者是一位 Ajax 专家,他演示了这些技术如何协同工作 —— 从总体概述到细节的讨论 —— 使高效转载 2006-02-26 22:50:00 · 880 阅读 · 0 评论 -
c语言struct的一种初始化方法
typedef struct str{ int a; int b;}Str;int main(){ Str s={a:1,b:2};//注意这里的冒号 printf("a=%d/nb=%d/n",s.a,s.b);}原文是在linux内核2.4.18的linux/fs/ext2/super.c文件里的,如下:static struct super_operations ex原创 2006-02-21 23:23:00 · 5665 阅读 · 1 评论 -
掌握 Ajax,第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求
Brett McLaughlin ,作家,编辑,OReilly Media Inc.2006 年 2 月 16 日多数 Web 应用程序都使用请求/响应模型从服务器上获得完整的 HTML 页面。常常是点击一个按钮,等待服务器响应,再点击另一个按钮,然后再等待,这样一个反复的过程。有了 Ajax 和 XMLHttpRequest 对象,就可以使用不必让用户等待服务器响应的请求/响应模型了。转载 2006-02-26 22:52:00 · 807 阅读 · 0 评论 -
volatile和__volatile__是什么意思?
volatile和__volatile__是什么意思? a. volatile是C语言定义的关键字,gcc为了需要又定义了__volatile__,它和 volatile表达的是同一意思。 b. volatile的本意是"易变的",由于访问寄存器的速度快于访存,所以编译器一般 都会作优化以减少访存。如果变量加上volatile修饰,则编译器就不会对此变量 的读写操作进行优化,即不通过寄存器缓冲而原创 2006-02-21 23:14:00 · 2265 阅读 · 0 评论 -
掌握 Ajax,第 3 部分: Ajax 中的高级请求和响应
Brett McLaughlin, 作家,编辑, OReilly Media Inc.2006 年 3 月 23 日对于很多 Web 开发人员来说,只需要生成简单的请求并接收简单的响应即可;但是对于希望掌握 Ajax 的开发人员来说,必须要全面理解 HTTP 状态代码、就绪状态和 XMLHttpRequest 对象。在本文中,Brett McLaughlin 将向您介绍各种状态代码,并展原创 2006-06-23 21:01:00 · 1176 阅读 · 0 评论 -
掌握 Ajax,第 4 部分: 利用 DOM 进行 Web 响应
---------------------------------------------------------------------------------------- 发布时间:2006-04-18 09:04:50 作者:Brett McLaughlin 出处:ibm 语言原创 2006-06-23 21:06:00 · 1002 阅读 · 0 评论 -
掌握 Ajax:第 5 部分: 操纵 DOM使用 JavaScript 即时更新 Web 页面
2006 年 4 月 27 日上一篇中 Brett 介绍了文档对象模型(DOM),它的元素在幕后定义了 Web 页面。这一期文章中他将进一步探讨 DOM。了解如何创建、删除和修改 DOM 树的各个部分,了解如何实现网页的即时更新!如果阅读过本系列的 上一篇文章,那么您就非常清楚当 Web 浏览器显示网页时幕后发生的一切了。前面已经提到,当 HTML 或为页面定义的 CSS 发送给 Web原创 2006-06-23 21:08:00 · 4687 阅读 · 3 评论 -
Cg编程入门(OpenGL)
Cg编程入门(OpenGL) 原注:B Alex DAngelo (alexz@FusionIndustries.com)译: huawenguang (huawenguang@hotmail.com)未经本人同意,不能用于商业出版用途。 本文将介绍如何在你现有的图形程序中加入对顶点和片段的高级着色。采用CG着色语言,将会另你的工作更加容易实现。在编程过程中原创 2006-07-18 20:39:00 · 1944 阅读 · 0 评论 -
Linux 常用命令
1.於档案/目录处理的命令ls——列目录这是最基本的档案指令。 ls 的意义为 "list",也就是将某一个目录或是某一个档案的内容显示出来。格式:ls -1ACFLRabcdfgilmnopqrstux -W[sv] [files]例:#ls (不跟任何参数以简单格式列出当前目录中所有档案)#ls bin (简单格式列出名为bin的文件或目录下的所有档案) #ls /u/ilasII_GB/li原创 2005-08-08 13:20:00 · 2180 阅读 · 0 评论 -
Makefile使用初步
一. 为什么使用变量 变量在makefile中用来代表一个字符串,用来表示 1. 一系列文件的名字 2. 传递给编译器的参数 3. 需要运行的程序 4. 需要查找源代码的目录 5. 你需要输出信息的目录 6. 你想做的其它事情。说白了,这有些类似于编程语言中的宏。 二. 定义变量的方式和建议 变量的名字是大小新敏感的,从大的方面来说,makefile中的变量被分为两种,一个是用=原创 2005-08-12 13:10:00 · 2597 阅读 · 0 评论 -
一个程序
e100 33 f6 bf 0 20 b5 10 f3 a5 8c c8 5 0 2 50 68 13 1 cb e 1f be a1 1 bf 0 1 e11b 6 57 b8 11 1 bb 21 13 89 7 4b 4b 48 79 f9 ad 86 e0 8b c8 bd ff ff e8 20 e134 0 3d 0 1 74 1a 7f 3 aa eb f3 2d ff 0 50 e原创 2005-08-10 12:13:00 · 842 阅读 · 0 评论 -
尽量使用C++风格的类型转换
仔细想想地位卑贱的类型转换功能(cast),其在程序设计中的地位就象goto语句一样令人鄙视。但是它还不是无法令人忍受,因为当在某些紧要的关头,类型转换还是必需的,这时它是一个必需品。 不过C风格的类型转换并不代表所有的类型转换功能。一来它们过于粗鲁,能允许你在任何类型之间进行转换。不过如果要进行更精确的类型转换,这会是一个优点。在这些类型转换中存在着巨大的不同,例如把一个指向const对象的原创 2005-07-11 14:39:00 · 1292 阅读 · 0 评论 -
不要使用多态性数组
类继承的最重要的特性是你可以通过基类指针或引用来操作派生类。这样的指针或引用具有行为的多态性,就好像它们同时具有多种形态。C++允许你通过基类指针和引用来操作派生类数组。不过这根本就不是一个特性,因为这样的代码根本无法如你所愿地那样运行。 假设你有一个类BST(比如是搜索树对象)和继承自BST类的派生类BalancedBST: class BST { ... }; class Balan原创 2005-07-15 17:24:00 · 865 阅读 · 0 评论 -
避免无用的缺省构造函数
缺省构造函数(指没有参数的构造函数)在C++语言中是一种让你无中生有的方法。构造函数能初始化对象,而缺省构造函数则可以不利用任何在建立对象时的外部数据就能初始化对象。有时这样的方法是不错的。例如一些行为特性与数字相仿的对象被初始化为空值或不确定的值也是合理的,还有比如链表、哈希表、图等等数据结构也可以被初始化为空容器。 但不是所有的对象都属于上述类型,对于很多对象来说,不利用外部数据进行完全的初原创 2005-07-15 17:25:00 · 1155 阅读 · 0 评论 -
smooth算法
int Smoothing(double* array, int pts_num,int axis,int iter){ int j,count=0; double dt=0.25, K=5; double DataL,DataR, CL, CR; double ImdValDif, ImdValDifN; double sumdot, sumnoise, sumdiff; // corr[0]原创 2005-07-18 15:47:00 · 3500 阅读 · 1 评论 -
把.NET程序部署到没有安装.NET Framwork的机器上
制作自己的安装程序在VS.NET中,我们可以通过建立"Setup and Deployment Projects"项目,非常灵活方便的把自己的.NET程序制作为Windows Installer文件。比如,我们可以很方便的定制下面这些选项:1. 是否在桌面上放置快捷方式。2. 注册自己的文件类型,可以通过双击该文件来使用自己的程序打开。3. 注册表的处理在下面的MSDN站点,我们可以获得在VS.N原创 2005-07-18 17:10:00 · 855 阅读 · 0 评论 -
Boost源码剖析:泛型函数指针类boost::function(修订版)
此帖为转载前奏 如你所知,Boost库是个特性完备,且具备工业强度的库,众多C++权威的参与使其达到了登峰造极的程度。尤其泛型的强大威力在其中被发挥得淋漓尽致,令人瞠目结舌。 然而弱水三千,我们只取一瓢饮。下面,我试图从最单纯的世界开始,一步一步带领你进入源码的世界,去探究boost::function(下文简称function)内部的精微结构。 通常转载 2005-07-22 10:48:00 · 1156 阅读 · 0 评论 -
C++中的虚函数(virtual function)
1.简介 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class A{public: virtual void foo() { cout };class B: public A{public: virtual void foo() { cout };那么,在使用的时候,我们可以:A * a =原创 2005-07-22 10:50:00 · 720 阅读 · 0 评论 -
Windows下Ping命令详解
Windows下Ping命令详解(转自INTERNET) 对于Windows下ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。 现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧,ping只有在安装了TCP/IP协原创 2005-07-25 22:51:00 · 1679 阅读 · 0 评论 -
java
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于优快云的经典老贴。 问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样原创 2005-07-25 18:29:00 · 1790 阅读 · 1 评论 -
Debug
Debug 启动 Debug,它是可用于测试和调试 MS-DOS 可执行文件的程序。 Debug [[drive:][path] filename [parameters]] 参数 [drive:][path] filename 指定要测试的可执行文件的位置和名称。 parameters 指定要测试的可执行文件所需要的任何命令行信息。 ++ 说明 使用转载 2009-06-26 10:30:00 · 965 阅读 · 0 评论