posted @ 2012-12-16 21:44
随笔分类 - C/C++
C语言是在70年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准学会在此基础上制定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。在C的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善了C语言,成为一种面向 对象的程序设计语言。C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2.0。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。
摘要:如果你看到这篇文章时,急着去吃饭或泡MM,请跳转到蓝色字段开始阅读。C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面为大家一个清晰的剖析。可以参考《C++ Primer P
阅读全文
摘要:摘要:本文所述算法来自IEEE PAMI的文章"Multiprimitive Segmenatation of Planar Curves-A Two-Level Breakpoint Classification and Tuning Approach"。大家可以到百度文库:http://wenku.baidu.com/view/e01f28f10242a8956bece43f.html?st=1下载。如果没有文库号的,可以到新浪爱问:http://ishare.iask.sina.com.cn/f/34715669.html免费下载。本文算法程序均系作者原创,欢迎各位研
阅读全文
posted @ 2012-11-18 20:43
摘要:《C++ Primer Plus》第12章的编程练习2。这一章介绍类和动态内存分配,相当精彩。编写简单的String类,并测试。 1 //string1.h -- fixed and augmented string class defination 2 #include <iostream> 3 using std::ostream; 4 using std::istream; 5 6 #ifndef STRING1_H_ 7 #define STRING1_H_ 8 class String 9 {10 private:11 char *str; // pointer to..
阅读全文
posted @ 2012-11-06 10:13
摘要:C++50 经典1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; 5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点; 6.会用Visual C++,并不说明你会C++; 7.学class并不难,
阅读全文
posted @ 2012-10-16 16:21
摘要:2012-09-22 16:46:15 冒泡排序 1 // 普通的冒泡排序 2 void bubble_sort(int a[], int n) 3 { 4 int temp; 5 for(int j=n-1; j>0; j--) 6 { 7 for(int i=0; i<j; i++) 8 { 9 if(a[i] > a[i+1])10 {11 temp = a[i];12 a[i] = a[i+1];13 ...
阅读全文
posted @ 2012-10-10 20:35
摘要:分为三种情况来看:1)输入的字符串不超过限定大小 get(str,Size):读取所有字符,遇到'\n'时止,并且将'\n'留在输入缓冲区中,其将被下一个读取输入的操作捕获,影响该输入处理; getline(str,Size):读取所有字符,遇到'\n'时止,并且将'\n'直接从输入缓冲区中删除掉,不会影响下面的输入处理。2)输入的字符数超出限定的大小 get(str,Size):读取Size-1个字符,并将str[Size-1]置为'\0',然后将剩余字符(包括'\n')留在输入缓冲区中,这些字符
阅读全文
posted @ 2012-09-14 13:01
摘要:书后的习题,关于视频处理的典型,值得记录。(1) 从视频文件读入数据;(2) 将读入数据转换为灰度图;(3) 对图像做Canny边缘检测。将三个过程的处理结果显示到不同的窗口中,每个窗口根据其内容合理命名。《学习OpenCV》P126#include <cv.h>#include <highgui.h>int main(){ cvNamedWindow("Video", CV_WINDOW_AUTOSIZE); cvNamedWindow("Gray", CV_WINDOW_AUTOSIZE); cvNamedWindow(&qu
阅读全文
posted @ 2012-07-15 14:33
浙公网安备 33010602011771号