![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 62
zlingh
大家多多交流我邮箱是zhangping_bnu@qq.com
展开
-
C++类的内存地址存放问题
http://hi.baidu.com/lovestartian/item/5e10f99e1b1faedb1e4271a3http://hi.baidu.com/haven2002/item/2bd05ea954130d98141073dd了解C++类地址的存放和分配等问题,能帮助我们更深入、更清晰了解类的组成及其使用。自己目前不是很清楚,先收集一些网上资料,而后再慢转载 2012-11-27 13:39:53 · 836 阅读 · 0 评论 -
在vs2010中使用qt的简单方法
参考网址:http://www.cnblogs.com/tornadomeet/archive/2012/04/22/2465506.html所需文件vs2010QtSdk-offline-win-x86-v1_2_1qt-vs-addin-1.1.11-opensource基本上参考如上From Visual Studio - Qt-> Qt Options -> se原创 2012-11-07 22:20:54 · 633 阅读 · 0 评论 -
程序由debug改为release模式后
VC++目录的库文件和包含文件 选项的东西 全盘复制过去就可以连接器输入中的附加依赖项也先复制过去,然后把d删掉,比如opencv_flann231d.lib改成opencv_flann231.lib这是因为opencv 有debug和release模式的不同的lib文件原创 2012-11-07 22:21:11 · 822 阅读 · 0 评论 -
判断两个float或double是否相等
不能直接if(a==b)而是要equal(a,b)equal 函数自己写bool equal(double num1,double num2){if((num1-num2>-0.000001)&&(num1-num2)<0.000001)returntrue;else return false;}原创 2012-11-07 22:21:24 · 4203 阅读 · 2 评论 -
动态链接库和静态链接库
http://blog.csdn.net/weiqubo/article/details/6990707静态库Lib和动态库Dll1.概论 1.什么是静态连接库,什么是动态链接库 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE文件中了。但是若使用 DLL,该 DLL 不必原创 2012-11-07 22:22:33 · 324 阅读 · 0 评论 -
vs2010快捷键
http://www.cppblog.com/jxtgddlt/archive/2012/01/08/163843.aspxctrl+e+f:格式化所选中代码alt+f8:也可以原创 2012-11-07 22:22:09 · 284 阅读 · 0 评论 -
iostream.h和iostream 区别
http://hi.baidu.com/laddie10/item/3f1e2fd404bd19e6b2f777ebC++中新定义的方法都是有名字空间的 比如cout就属于std名字空间 如果include头文件的时候加上.h,默认会using namespace 否则需要自己加上 using namespace XXX 对于C中已经定义的方法如printf,没有影响的转载 2012-11-18 22:50:34 · 623 阅读 · 0 评论 -
C++中的dynamic_cast和static_cast
dynamic_cast和static_cast:dynamic_cast ( expression ) 该运算符把expression转换成type-id类型的对象。Type-id必须是类的指针、类的引用或者void*;他们区别是 在类层次间进行上行转换时,dynamic_cast和static_cast的效果是一样的; 在进行下行转换时,dynamic_cast具有原创 2012-12-11 22:19:29 · 565 阅读 · 0 评论 -
虚拟继承?
http://blog.csdn.net/wuliming_sc/article/details/3838482http://hi.baidu.com/luxey/item/624feab0dfabfaf362388ef8关于virtual关键字,C++里要覆盖父类的某个方法,则必须在基类函数前加virtual关键字。在所继承的基类前加virtual叫做虚拟继承。class原创 2012-11-07 22:25:12 · 488 阅读 · 0 评论 -
在Visual c + + 中调试时如何在监视窗口展开查看一个指针,并非数组
我们都知道,对于数组的话,很好办,只要输入数组名就可以了,但是指针呢,只输入指针名就只能查看这个指针所指内容了。 从头说起 现在有一个指针ptr,指针指向类型是float,如果在监视器直接输入ptr,则显示的是ptr[0]的值即*(ptr+0),而如果我们想看从ptr[0]到ptr[99]这100个float数的值呢?方法是在监视器输入 “ptr, 100”(引号内原创 2012-11-01 23:26:21 · 6477 阅读 · 1 评论 -
<>改成“”
VS中,头文件的作用,定义类,声明类的变量,方法等;方法的具体实现在源文件中。把linux下C运行在VS下所需改动很小,把tld的C程序要关掉摄像头才能运行使用尖括号是找头文件的时候先从系统目录下找,双引号是先从工程所在的目录下找opencv编程1:定义一个ipImage2:cvLoadImage3:顶一个窗口cvNamedWindow原创 2012-11-07 22:20:50 · 331 阅读 · 0 评论 -
c++控制台程序怎么隐藏
很简单,只需在程序中加入下面一句话#pragma comment( linker, "/subsystem:\"windows\"/entry:\"mainCRTStartup\"" )这样就不会显示窗口了原创 2012-11-07 22:21:09 · 431 阅读 · 0 评论 -
C++虚函数的作用
虚拟继承若class A;class B:virtual Aclass C:B那么调用C的构造函数时会跳过B的构造函数而直接调用A的构造函数。虚函数是动态绑定的基础。是非静态的成员函数。在类的声明中,在函数原型之前写virtual。virtual 只用来说明类声明中的原型,不能用在函数实现时。具有继承性,基类中声明了虚函数,派生类中无论是否说明,同原型函数都自原创 2012-11-07 22:24:36 · 358 阅读 · 0 评论 -
C++对象的内存布局
C++对象的内存布局 内存布局是属于较深层次的知识,一般C++学习的书籍上不会专门讲解。而很多问题往深了讲都是不清楚内存布局的原理。最近有幸读到一本书,里面讲了一部分C++对象的内存布局,让我对很多以前的问题都豁然开朗了。书上篇幅较大,我加上自己的理解总结了下。 分为三部分:简单对象,单继承,多继承一:简单对象非静态成员变量和虚函数是决定类大小的原创 2013-08-21 23:19:55 · 864 阅读 · 0 评论 -
详解Big-Endian和Little-Endian,大端模式和小端模式
详解大端模式和小端模式嵌入式开发交流群280352802,欢迎加入!一、大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯原创 2013-11-01 22:00:00 · 7308 阅读 · 1 评论 -
详细解说STL hash_map系列
1 数据结构:hash_map原理这是一节让你深入理解hash_map的介绍,如果你只是想囫囵吞枣,不想理解其原理,你倒是可以略过这一节,但我还是建议你看看,多了解一些没有坏处。hash_map基于hash table(哈希表)。 哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。然而在当前可利用内存越来越多的情况下,用空转载 2013-10-20 22:46:57 · 811 阅读 · 0 评论 -
C++中类的静态变量在哪初始化
静态数据成员的使用方法和注意事项如下: 1、静态数据成员在定义或说明时前面加关键字static。 2、静态成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式如下: ::= 这表明: (1) 初始化在类体外进行,而且前面不能加static。 (2) 初始化时不加该成员的访问权限控制符private,public等。转载 2012-11-29 01:01:19 · 7116 阅读 · 0 评论 -
C++中,类继承的内存布局
对于普通的继承,不涉及虚拟继承时,比较简单。如果继承多个父类则:每个父类都有自己的虚表,子类虚成员函数加到第一个父类的虚函数列表后面其它数据成员,按顺序依次放在各个父类的虚函数列表后面以下内容,摘自网友[0] Base1::_vptr-> [0] Derive::f() [1] Base1::g() [2] Base1原创 2012-11-29 20:25:22 · 840 阅读 · 0 评论 -
C++函数后加const的意义
一些成员函数改变对象,一些成员函数不改变对象。例如:int Point::GetY() {return yVal; }这个函数被调用时,不改变Point对象,而下面的函数改变Point对象:void Point:: SetPt(int x, int y) { xVal=x; yVal=y; }为了使成员函数的意义更加清楚,我们可在不改变对象的成员函数的函数原型中加上const说明:cl原创 2012-11-21 21:50:46 · 8452 阅读 · 0 评论 -
C++初始化成员列表
C++在类的构造函数中,可以两种方式初始化成员数据:在构造函数的实现中,初始类的成员数据。还可以定义初始化成员列表 (Initializer list) 来初始化成员数据。 那么我们在什么情况下该使用初始化成员列表呢?需要初始化的数据成员是对象。需要初始化的类成员是const对象或者引用对象。解决没有默认构造函数的类成员对象的生成。在继承里面,只有初始化列表可以构造转载 2012-12-15 19:32:33 · 596 阅读 · 0 评论 -
C++操作符重载
赋值操作符赋值操作符即“=”。赋值操作符为二元操作数,其操作目的是将右操作数的值复制给左操作数。由于左值涉及到写操作,因此左值必须为非const量,而右值在赋值操作中只涉及读操作,因此一般为const量。赋值操作符通常返回左操作数的引用,这样就不需要创建和撤销运算结果的临时副本。C/C++编译器支持对内置类型(例如整形int和浮点型double)的赋值运算。字符数组(字符串)的赋值转载 2012-12-15 22:13:14 · 860 阅读 · 0 评论 -
C++ 初始化列表
何谓初始化列表与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。在C++中,struct和class的唯一区别是默认的克访问性不同,而这里我们不考虑访问性的问题,所以下面的代码都以struct来演示。struct foo{ string name ; int id ;转载 2013-08-18 23:17:13 · 600 阅读 · 0 评论 -
利用栈实现二叉树的先序,中序,后序遍历的非递归操作
中序遍历void inOrder(BiTree T,void(*vist)( element e)){stack S;while (true){if (T) { s.push(T);T=T->Lchild;}else {T=s.pop(s); visit(T);T=T->Rchild;}if(s.empty()) break;}} 先序遍历void inO原创 2013-09-29 18:32:09 · 3755 阅读 · 0 评论 -
用故事讲解虚函数。
理解虚函数( virtual function )的几个关键点:1. 理解早绑定(early binding)、晚绑定(late binding)。所谓early binding:On compile time,就能明确一个函数调用是对哪个对象的哪个成员函数进行的,即编译时就晓得了确定的函数地址;所谓late binding:On compile time,对函数(虚函转载 2013-09-16 15:50:46 · 611 阅读 · 0 评论 -
C++ 右值引用
一:第一个具有const引用的函数,可以接受任意的参数,不管是左值还是右值,不管这个左值或者右值易变或者不易变(if mutable);但是对于第二个函数,除了mutable rvalue-references类型,其他的类型都可以。二:先从例子入手printReference (constString& str){ cout << str;} printR转载 2013-09-16 14:33:04 · 742 阅读 · 0 评论 -
c++类的构造函数详解
http://www.cnblogs.com/xkfz007/archive/2012/05/11/2496447.html一、 构造函数是干什么的class Counter{public: // 类Counter的构造函数 // 特点:以类名作为函数名,无返回类型 Counter() {转载 2013-10-02 10:47:07 · 606 阅读 · 0 评论 -
C++成员指针
中,成员指针是最为复杂的语法结构。但在事件驱动和多线程应用中被广泛用于调用回叫函数。在多线程应用中,每个线程都通过指向成员函数的指针来调用该函数。在这样的应用中,如果不用成员指针,编程是非常困难的。 刚遇到这种语法时也许会让你止步不前。但你会发现,使用恰当的类型定义之后,复杂的语法是可以简化的。本文引导你了解成员函数指针的声明,赋值和调用回叫函数。 成员函数指针的声明转载 2013-10-06 15:55:14 · 518 阅读 · 0 评论 -
C++STL容器的基本特性和原理
STL的容器可以分为以下几个大类:一:序列容器, 有vector, list, deque, string.二 : 关联容器, 有set, multiset, map, mulmap hash_set,hash_map, hash_multiset, hash_multimap三: 其他的杂项: stack, queue, v转载 2013-09-23 22:10:17 · 681 阅读 · 0 评论 -
STL 简介,标准模板库
http://blog.csdn.net/byxdaz/article/details/4633826这篇文章是关于C++语言的一个新的扩展——标准模板库的(Standard Template Library),也叫STL。 当我第一次打算写一篇关于STL的文章的时候,我不得不承认我当时低估了这个话题的深度和广度。有很多内容要含盖,也有很多具体描述 STL的书。因此我重新考虑了一下转载 2013-10-20 23:10:00 · 755 阅读 · 0 评论 -
小括号重载
#include using namespace std;class Time{public: int h; int m; int s; Time( int h = 0, int m = 0, int s = 0 ) { operator()(h,m,s); } //小括号重载 版本0 注意和下面用户自定义转换的转载 2013-10-21 11:23:16 · 1430 阅读 · 0 评论 -
暂停控制台3种方法
system("PAUSE");cvWaitKey(0);永久等待键盘按钮getchar();原创 2012-11-07 22:21:16 · 2074 阅读 · 0 评论