
C++编程相关
csmqq
闻、见、知、行,学至于行之而止矣
-荀子
展开
-
数组与指针
10.3.1 通过指针引用一维数组中的元素 在C语言中,指针和数组有着紧密的联系,其原因在于凡是由数组下标完成的操作皆可用指针来实现。在数组中我们已经知道,可以通过数组的下标唯一确定了某个数组元素在数组中的顺序和存储地址,这种访问方式也称为"下标方式"。例如:int a[5] = {1, 2, 3, 4, 5}, x, y;x=a[2]; /* 通过下标将数组a下标为2的第3个元素的值赋给x转载 2006-04-08 16:36:00 · 1801 阅读 · 0 评论 -
创建.dll(ATL COM)文件及其使用
.dll文件就是COM组件,它允许多种语言来调用,而且只需要提供该dll文件就可以了。 创建:step1: 右键单击solution名->Visual C++->ATL->ATL Project。并给该工程命名为MyCOM。step2: 右键单击该MyCOM->Add class->ATL->ATL Simple Object,而不是C++类,将其命名为Professor。此时,在类视图(原创 2010-01-29 13:38:00 · 1116 阅读 · 0 评论 -
学习MFC(一)
1.为了防止内存泄露,在创建pen, brush之后,若要将其选入设备时,则需记下之前的pen, brush。用完之后,再将之前的选入设备中还原,这样系统就会调用默认函数析构。CPen pen;pen.CreatePen(PS_SOLID, 2, RGB(255, 0, 0));CPen* oldPen = dc.SelectObject(&pen);dc.MoveTo(outputPoints[原创 2010-02-02 16:21:00 · 835 阅读 · 0 评论 -
学习MFC(二)
1.添加对话框step1: 在Resource View下,右键单击Dialog->Insert Dialog,出现对话框并且有Dialog Editor。step2: 拖动Static Text到对话框后,在右下方Properties->Caption 添加静态文本。step3: 拖动Edit Control到对话框,右键单击该对话框->Add Class,添加类名,该类属于这个对话原创 2010-02-10 15:49:00 · 879 阅读 · 1 评论 -
STL中与比较器有关的容器和算法
STL 中的container & alogorithmset; priority_queue;sort;binary_search;unique;unique_copy;原创 2010-06-25 16:42:00 · 3869 阅读 · 1 评论 -
用OpenGL中的solid cone来模拟VORONOI图
用cone模拟voronoi图原创 2010-06-27 15:11:00 · 1601 阅读 · 0 评论 -
OpenGL中位图的操作(glReadPixels,glDrawPixels等)
BMP文件格式简单介绍;简单的OpenGL像素操作;glReadPixels的用法和举例;glDrawPixels的用法和举例转载 2010-06-29 13:07:00 · 1697 阅读 · 0 评论 -
OpenCV简介以及使用初步
OpenCV 是Open Computer Vision的简称,因此该库主要用于计算机视觉方面。我这里用到它,是想用SVD,最小二乘法解决线性方程组。OpenCV中,矩阵的几个常用操作:创建矩阵,初始化,赋值,取值解线性方程组AX = b, 在OpenCV中有两个函数可以使用:cvSolve()和cvSVBkSb(), 但是后者需要与cvSVD()函数联合使用。原创 2010-07-16 14:47:00 · 2171 阅读 · 1 评论 -
如何把别人的文件资源融入自己的exe (MFC编程)
在资源管理器中添加“定制资源”;比如说TXT类型的。然后,以下的代码用来导入资源。注:IDR_TXT2为ID,TXT为类型//////////////////////////////////////////////////////////////////////////HINSTANCE hInstance = AfxFindResourceHandle(MAKEINTRESOURCE(IDR_TXT2), "TXT"); HRSRC hRes = FindResourceEx(原创 2010-09-23 20:17:00 · 1267 阅读 · 0 评论 -
STL vector用法介绍
介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。 Vector总览vector是C++标准模板库中的部分内容,它是一个多功能转载 2013-07-30 10:28:12 · 676 阅读 · 0 评论 -
STL之set使用方法小结
/*set/multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。1) 不能直接改变元素值,因为那样会打乱原本正确的顺序,要改变元素值必须先删除旧元素,则插入新元素2) 不提供直接存取元素的任何操作函数,只能通过迭代器进行间接存取,而且从迭代器角度来看,元素值是常数3) 元素比较动作只能用于型别相同的容器(即元素和排序准则必须相同)s转载 2013-07-27 10:09:05 · 674 阅读 · 0 评论 -
STL中的list容器
以下转自http://www.cnblogs.com/BeyondAnyTime/archive/2012/08/10/2631191.htmlSTL中的list容器的一点总结1.关于list容器list是一种序列式容器。list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,也就是list也具有链表的主要转载 2013-07-30 10:41:09 · 935 阅读 · 0 评论 -
创建.lib文件及其使用
.lib文件可以让别人来调用你的工程,但是只能允许C++调用,而且需要同时提供所要使用类的头文件以及该工程的.lib文件。有两个工程 project A & project B,project A 中有类class a。现在想要在project B中使用类a的行为。方法一:step1: 右键单击project A工程名->configuration properties->General->C原创 2010-01-29 11:46:00 · 2781 阅读 · 0 评论 -
批处理文件(.bat)与命令行程序
批处理文件:同时处理一批文件以提高执行效率。与命令行程序一起使用。使用过程:step1: 编写命令行程序(即使用了命令行参数的程序),在debug文件夹中有.exe的程序。step2: 在.exe所在的文件夹中,新建一个.txt文件,把后缀名改为.bat。此时该文件就是批处理文件。右键单击edit命令,打开后,写进所有要处理的文件。书写格式为:程序名 参数名(即要处理的文件名)。step3: 关闭原创 2010-01-28 14:55:00 · 1062 阅读 · 1 评论 -
还是内存!内存....
对于内存一点都不了解到现在感觉上已经蛮了解的,可是事实上又遇到麻烦了!实在是想不通,怎么会出现问题呢?重新审视一下动态开辟内存的操作:1.对于函数以及函数内的临时变量我们不需要考虑它们的内存空间,因为在函数运行结束的时候会自动释放掉.真的是这样的吗?如果是这样的话,对于固定数组我若开辟一个足够大的空间,那到运行结束时它也会自动释放空间,如果真是这样的话,那我们何必提出动态数组的概念?原创 2006-07-19 10:16:00 · 1219 阅读 · 0 评论 -
C++高级讨论会(一)
只记下5个内容,后面听不懂也就懒得记了。。一。编码规范(3个) 。循环次数 nCount 。函数命名:动词+名词 。宏的定义二。表达式和基本语句(7个) 。运算符的优先级 。复合表达式 。if语句 。循环语句的效率(多重循环,逻辑判断) 。for语句的循环控制 。switch语句(default)原创 2006-04-09 22:51:00 · 1142 阅读 · 0 评论 -
了解内存与数据结构的关系(一)。..
内存:存储程序以及数据的地方.选择存盘时,内存中的数据才会被存入硬盘.按照这个说法是,打开一个应用软件应该会是占内存空间的;我在写代码时应该会占到内存空间;运行程序时会占到内存空间(恩,复杂度应该就是因为这里吧.如果不考虑复杂度的话,占到内存过大,那不就是很慢了?谁能受得了慢呢!) ...但是我若不干上述事情,那电脑应该不死机才对啊!内存还有在什么时候会用到呢? 内存是一个什么样的结原创 2006-05-16 08:44:00 · 2303 阅读 · 0 评论 -
C中文件的操作。。。。
1.格式化的读写函数fscanf() 和fprintf() ;数据库的读写函数 fread() 和 fwrite() ; 字符串的读写函数 fgets() 和fputs() ; 文件的打开与关闭 fopen() 和 fclose()原创 2006-05-21 17:41:00 · 889 阅读 · 0 评论 -
C++中const 的用法
C++中的const用法是我搞不清楚的地方,今天看到一位仁兄有多她的总结,借来用一下,不过目前为止感触还不是很深。。原创 2006-05-21 14:40:00 · 1036 阅读 · 0 评论 -
了解内存与数据结构的关系(二)。。。
对于内存还是存在很多的疑惑,对这个概念的使用还是不自然,我以前很少关注内存问题的。最近百度,原来内存中有那么多的学问。我想,了解了内存的概念,就应该了解了指针,理解起数据结构也应该会容易得多。 任意一个程序的运行或数据的存储都是在内存中进行的吗? 在一般的函数中,变量和对象的内存分配都是编译器在编译时安排好了的,这带来了极大的不方便。如数组大开小用,指针必须指向一个已经存在的变量或对象原创 2006-05-21 22:52:00 · 1367 阅读 · 0 评论 -
深入探讨C++中的引用
引用这个概念具体怎么应用还是不怎么理解。我常接触的就是作为函数的参数,通常用来作为记数。今天写一个divide_conquer 求凸包的程序,不知道怎样记数分组后数组元素的个数,怎样定义数用来作为函数的实参来作为传值。因此了解下引用的用法。原创 2006-05-22 23:31:00 · 916 阅读 · 0 评论 -
VC 6.0一些小技巧收集
1.ctrl+A :全选;alt+F8 代码自动对齐;2。把光标放在花括号内,ctrl+] 会自动跳到另一个匹配的花括号;3.对于写if,else语句时,最好每个下面都用大括号,即使只有一个语句;原创 2006-05-25 19:08:00 · 1133 阅读 · 0 评论 -
学习C的一些基本概念(一)
一.枚举类型的使用:1.enum weekday{sun,mon,tue};声明了一个枚举类型enum weekday,可以用此类型定义变量 enum weekday workday,week_end;(weekday,week_end的值只能是括号中之一)2.也可以直接定义枚举类型 enum{sun,mon,tue}workday,week_end;二.用typedef定原创 2006-06-02 00:07:00 · 1081 阅读 · 0 评论 -
怎样在VC中使用MFC。。
.MFC是放置Winfdows API的面向对象的包装的C++类库。(大约有200个类)。获取设备信息:CClientDC dc *PDC new CClient DC(this) ;。CDC::SetPixel();现在的问题主要是针对什么样的类函数,应该要怎样设定设备环境呢? 。在VC中实现在一个窗口上画圆,程序代码如下: CDC *hdc; //定义一个原创 2006-06-03 20:16:00 · 1659 阅读 · 0 评论 -
头文件的使用..
程序经常会出项那样的错误: f:/csmqq/voronoi/voronoidiagramgenerator.h(29) : fatal error C1083: Cannot open include file: ../logger/Logger.h: No such file or directory1.头文件是怎么定义的呢?头文件放在VC中MFC程序的哪些位置 ?2.怎样注意头文件原创 2006-06-29 22:00:00 · 1195 阅读 · 0 评论 -
经典收藏 C++内存管理操作详解
Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 C++程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 1、内存分配方式 内存分配转载 2006-07-12 10:14:00 · 1367 阅读 · 0 评论 -
Mac系统使用C++/Eigen编程笔记
一、Mac OS X 快速访问根目录的4种方法二、在Mac系统中配置矩阵运算库:xcode + eigen转载 2019-06-19 12:12:56 · 2540 阅读 · 0 评论