C++ 相关
白瓷绿茶
这个作者很懒,什么都没留下…
展开
-
“当前不会命中断点。源代码与原始版本不同”的问题的有效解决办法
http://blog.csdn.net/clever101/article/details/4672082开发时有一个工程的一个文件的断点无效,VS 2005提示说当前不会命中断点。源代码与原始版本不同,请在断点选项里设置允许源代码与原始版本不同。这个是针对单个断点进行设置。如果要对所有的断点进行设置,则要在“工具”——〉“选项”——〉“调试”——〉“要求源文件与原始版本完成匹配”去转载 2014-05-02 09:18:57 · 308 阅读 · 0 评论 -
261页binaryMaxIndexSmallerThanValue
#include #include using namespace std;template int binaryMaxIndexSmallerThanValue(const vector &array ,Type keyValue){ if(array.size()==0) return -1; int left=0,right=array.size()-1; while转载 2014-07-21 21:47:20 · 309 阅读 · 0 评论 -
C++中取得各种简单数值类型的最大最小值
http://www.cppblog.com/eros/archive/2008/04/28/48387.html在C++中,要想得到数值类型的最大最小值(有符号)可以包含头文件,使用numeric_limits模板类:#include #include using namespace std;int _tmain(int argc, _TCHAR* a转载 2014-07-20 14:20:59 · 752 阅读 · 0 评论 -
队列中取最大值操作
#include #include #include #include using namespace std;template class Stack{private: vector stackItem; int stackTop; vector link2NextMaxItem;public: Stack():stackTop(-1){} void push(T转载 2014-07-20 14:40:48 · 815 阅读 · 0 评论 -
C++模板学习
http://www.cnblogs.com/gaojun/archive/2010/09/10/1823354.html1. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overl转载 2014-06-04 15:42:11 · 278 阅读 · 0 评论 -
堆 和 栈的 区别
http://www.cnblogs.com/Kevin_z/archive/2010/03/05/1679031.html此文章虽然是面向C/C++程序员写得,但是对咱们Java程序员还是很有帮助的。 堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数转载 2014-05-12 20:41:48 · 279 阅读 · 0 评论 -
析构函数与虚函数
#include using namespace std;class animal{public: void sleep() { cout<<"animal sleep"<<endl; } virtual void breathe(int i=0) { cout<<i<<" animal breathe"<<endl; } animal():i(100){}转载 2014-05-11 20:03:08 · 299 阅读 · 0 评论 -
单链表操作
#include #include #include using namespace std;struct Node{ int value; Node *p_next; Node(int val):value(val),p_next(NULL){ }}; int main(){ srand(unsigned(time(0))); int num=10;原创 2014-04-24 19:26:44 · 282 阅读 · 0 评论 -
fstream的使用方法介绍
在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器( 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout2、析取器(>>) 从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin转载 2014-05-10 22:08:39 · 269 阅读 · 0 评论 -
java中如何判定两个对象属于同一类
http://blog.csdn.net/i46614161/article/details/4480765首先:可用instanceof判断一个对象是否属于某一类,两个对象的情况如obj1与obj2,可用 System.out.println((obj1 instanceof Student) && (obj2 instanceof Student));判断,如果为true即是同转载 2014-05-28 16:29:03 · 1163 阅读 · 0 评论 -
java 与 c++ 关于局部变量重命名的区别
#include using namespace std;int i=0;int main(){ { int i=10; { int i=10; } } { int i=10; } for(int i=0;i<20;++i) for(int i=0;i<10;++i);}public class TestToDouble {原创 2014-05-30 10:31:47 · 672 阅读 · 0 评论 -
N个节点二叉树有多少种形态
记n个节点的二叉树形态个数为A[n] 1)0个节点的二叉树只有1种形态,A[0]=0;1个节点的二叉树只有1种形态,A[1]=1 2)n个节点(n>=2)的二叉树有 A[n] = ∑ [m=0到n-1] ( A[m]*A[n-m-1] ) ,求和的每一项,分别表示根的左子树为m个节点、右子树为 n-m-1个节点的情况 刚好就是catalan数,直接用catalan数的公式:h(n)=C(2n,n)转载 2014-09-28 15:07:15 · 1364 阅读 · 0 评论 -
virtual test
#include using namespace std;class A{public: int m; virtual void print(){ cout<<"A中保存的值:"<<m<<endl; }};class B:virtual public A{};class C:virtual public A{};class D:public B,publi转载 2014-09-02 21:42:41 · 509 阅读 · 0 评论 -
C++ 多态 以及实现多态的三种方式
实实在在说多态(C++篇)1. 什么是多态... 12. 多态带来的好处... 13. C++中实现多态的方式... 14. 细说用函数重载实现的多态... 25. 细说用模板函数实现的多态... 36. 小结... 47. 细说用虚函数实现的多态... 47.1. 虚函数是怎么回事...转载 2014-09-02 21:59:06 · 12270 阅读 · 1 评论 -
include .h 与 .cpp
#include "*.h"当编译cpp的时候,从cpp所在的文件夹查找是否有dui'y转载 2014-09-02 21:49:55 · 503 阅读 · 0 评论 -
赋值操作符与复制构造函数
类类型对象对同类型其他对象的赋值。类赋值操作符接受类类型形参,通常,该形参是对类类型的const引用,但也可以是类类型或对类类型的非const引用。如果没有定义这个操作符,则编译器将合成它。类赋值操作符必须是类的成员,以便编译器可以知道是否需要合成一个。 可以为一个类定义许多附加的赋值操作符,这些赋值操作符会因右操作数类型的不同而不同。例如,标准库的类string定义了3个赋值操作符转载 2014-08-24 18:11:18 · 316 阅读 · 0 评论 -
GCC对齐与VS对齐
2.3 GCC下的结构体对齐规则:(K代表对齐模数,T代表基本数据类型)>2:K=4。即小于等于2的时候,按照类型本身大小来算,而大于2的类型一律将4作为对齐模数。转载 2014-07-29 22:25:14 · 464 阅读 · 0 评论 -
一个数组中最常出现的n个数
面试被问到了,想了想似乎可以用map解决,第一个保存原型,第二个保存出现的次数,在用set的比较特性,对map的迭代器进行排序,小于函数需自定义原创 2014-04-17 10:36:31 · 543 阅读 · 0 评论 -
最小堆实现
#include #include #include #include using namespace std;template class BinaryHeap{public: BinaryHeap (const vector &s):element(s) { MaxIndex=maxIndex(); printCurrentState(); buildHeap转载 2014-08-02 15:50:14 · 325 阅读 · 0 评论 -
size_t、ssize_t
对于赶时间的朋友,只看第一段就好了。 首先,我非常肯定以及确定的告诉你ssize_t是有符号整型,在32位机器上等同与int,在64位机器上等同与long int,有没有注意到,它和long数据类型有啥区别?其实就是一样的。size_t 就是无符号型的ssize_t,也就是unsigned long/ unsigned int (在32位下),不同的编译器或系统可能会有区别,主要是因为转载 2014-05-10 11:00:41 · 296 阅读 · 0 评论 -
class struct
http://blog.csdn.net/yuliu0552/article/details/6717915C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗? 能!struct能继承吗? 能!!struct能实现多态吗? 能!!! 既然这些它都能实现转载 2014-05-08 20:16:56 · 417 阅读 · 0 评论 -
可重载与不可重载
可重载运算符表:OperatorNameTypeOperatorNameType,CommaBinary–>*Pointer-to-member selectionBinary!Logical NOT转载 2014-05-04 20:13:22 · 443 阅读 · 0 评论 -
max sub array and label
#include #include using namespace std;int max_sub_array(int *s,int s_size,int &left,int &right){ //左闭右开 if(s_size<=0){ cout<<"invalid array"<<endl; return NULL; } left=0;right=1; int this_原创 2014-04-17 15:05:49 · 714 阅读 · 0 评论 -
map应用之insert方法
原文:http://blog.sina.com.cn/s/blog_63a9d08801011hl7.html直接上代码,两种方式:map m_map;m_map.insert(map::value_type("hello",5));m_map.insert(make_pair("hello",5));也就是说,insert后面的数据是pair类型或者是value_转载 2014-04-17 09:20:19 · 564 阅读 · 0 评论 -
Struct字节对齐分析
在编程中,我们常常会碰到字节对齐这方面的问题,偶就曾经碰到过。公司要求我把一段在Linux下的源代码改为运行在Windows下,偶修正了所有的语法错误,可是出来的数据总是多出几个字节,一样的代码,为什么会多出几个字节???最后查看了其头结构,才知道罪魁祸首是字节对齐方式和Linux的不一样,在Linux下其是按2字节对齐,可是在VC++下默认是按8字节对齐,知道这,然后改正,果然一切OK!转载 2014-04-15 10:52:46 · 325 阅读 · 0 评论 -
struct和union的区别
yuan'wen今天读到NeHe第48章的源程序,本想学习一下轨迹球的用法,无意中发现里面用到 union 。当初学习C语言时并没有特别注意 union 的用法,也不知道与 struc t相比有何不同。经过网上的一番搜索,现在总算是恍然大悟,所以就小结一下。如有错误之处,敬请指正。( struct 和 union 的结构定义形式没有多大差别,只要不是初学者,相信大家不会在这转载 2014-04-15 10:54:41 · 380 阅读 · 0 评论 -
struct 字节对齐详解
http://blog.chinaunix.net/uid-14802518-id-2784907.html一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是转载 2014-04-15 11:22:57 · 297 阅读 · 0 评论 -
C++ set
1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就 像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高。 set和multiset的区别是:set插入的元素不能相同,但是multiset可以相同。 创建 multiset base; 删除:如果删除元素a,那么在定义的比较关系下和a相等的所有元素都会被删除 base.c转载 2014-04-16 17:02:18 · 336 阅读 · 0 评论 -
stack overflow 堆 栈
转: 昨天在做小猪登山的题目碰到了数组容量太大的问题,今天做一个总结。 首先,参考了Slyar的文章《C语言 全局变量和局部变量的大小限制》直接贴上。[cpp] view plaincopy#include int main(){ int a[1000000];//局部变量 return 0;转载 2014-05-01 09:31:58 · 427 阅读 · 0 评论 -
C++重载箭头操作符
原文:http://blog.csdn.net/custa/article/details/5674434今天看《C++ Primer》的成员访问操作符。看重载箭头操作符部分,刚开始有点迷茫,看了两遍总算有点理解,把心得写在这,与各位分享,如果有错误欢迎指正。 箭头操作符(->)的通常用法是,使用一个类对象的指针来调用该指针所指对象的成员。左操作数为对象指针,右转载 2014-05-06 21:16:11 · 304 阅读 · 0 评论 -
Vim对多行文本操作
http://wanjiwz.blog.163.com/blog/static/22934912009102432015693/1.复制、粘贴多行文本 (1) 方法1 在待复制的第一行行首按“v”键,然后移动光标到最后一行行末按“y”键,完成文本复制;到要粘贴的地方按“p”键即可完成文本的粘贴。 实际上这个就相当于很多notepad里面按住Shift键选定文本转载 2014-04-22 10:14:52 · 1096 阅读 · 0 评论 -
虚函数与默认实参
#include using namespace std;class animal{public: void sleep() { cout<<"animal sleep"<<endl; } virtual void breathe(int i=0) { cout<<i<<" animal breathe"<<endl; }};class fish:public转载 2014-05-08 19:47:31 · 326 阅读 · 0 评论 -
class sizeof
http://blog.csdn.net/zyyoung/article/details/6166939[cpp] view plaincopy#include class a {}; class b{}; class c:public a{ virtual void fun()=0;转载 2014-05-07 20:12:31 · 271 阅读 · 0 评论 -
成员函数与内存空间
http://bbs.csdn.net/topics/340041755创建对象不会为成员函数分配空间。成员函数放在代码区,多个对象共享。转载 2014-05-07 20:26:45 · 431 阅读 · 0 评论 -
C++ 继承与派生 封装
万维网转载 2014-05-07 16:19:40 · 308 阅读 · 0 评论 -
C++ 多态
http://blog.csdn.net/zyq0335/article/details/76574651 什么是多态?多态性可以简单的概括为“1个接口,多种方法”,在程序运行的过程中才决定调用的机制程序实现上是这样,通过父类指针调用子类的函数,可以让父类指针有多种形态。2 实现机制举一个例子:#include class animal{pu转载 2014-05-07 15:58:43 · 270 阅读 · 0 评论 -
关于析构函数出错
#include#include#includeusing namespace std;class A{private: char *name;public: A(char *n) { name=new char[strlen(n)+1]; strcpy(name,n); cout<<name<<endl; }; A(const A &a){ cout<转载 2014-05-07 14:43:46 · 1099 阅读 · 0 评论 -
assert()函数用法总结
http://www.cnblogs.com/ggzss/archive/2011/08/18/2145017.html转载 2014-04-21 21:47:05 · 428 阅读 · 0 评论 -
析构函数出错
析构函数报错析构函数在什么时候被调用执行? 对于C++程序员来说,这个问题比较简单,但是比较爱唠叨的阿愚还是建议应该在此再提一提,也算回顾一下C++的知识,而且这将对后面的讨论和理解由一定帮助。先看一个简单的示例吧!如下:class MyTest_Base{public:virtual ~ MyTest_Base () {cout }};转载 2014-05-07 14:02:53 · 995 阅读 · 0 评论 -
VS2010链接方式
#pragma comment(lib,"D:\\Program\\sdkBWCamera\\Samples\\SDK\\JHCap2.lib")原创 2015-05-25 17:52:24 · 414 阅读 · 0 评论