┾编程中箭┾
lightty
啊?啊!
展开
-
局部变量用的时候再定义!
f**k,从没想过要遵循规范,直到今天我膝盖狠狠中了一箭。 #include using namespace std;int main(){ int i = 100; for(int i = 0; i cout cout system("pause"); return 0;} 好原创 2011-12-18 19:08:02 · 515 阅读 · 0 评论 -
转-static
转自百度百科简介C#与C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。面向过程的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下://E转载 2013-04-20 22:51:31 · 565 阅读 · 0 评论 -
c++中不能重载的运算符
http://blog.chinaunix.net/uid-20665441-id-305445.html算术运算符:+,-,*,/,%,++,--;位操作运算符:&,|,~,^(位异或),<<(左移),>>(右移)逻辑运算符:!,&&,||;比较运算符:<,>,>=,<=,==,!=;赋值运算符:=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=;转载 2013-05-04 19:57:11 · 1433 阅读 · 0 评论 -
Union用法
共用体(参考“共用体”百科词条)是一种特殊形式的变量,使用关键字union来定义共用体(有些人也叫"联合")声明和共用体变量定义与结构体十分相似。其形式为:union 共用体名{数据类型 成员名;数据类型 成员名;...} 变量名;共用体表示几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。在union中,所有的共用体转载 2013-09-02 16:11:32 · 579 阅读 · 0 评论 -
C++中虚函数工作原理和(虚)继承类的内存占用大小计算
http://blog.csdn.net/hackbuteer1/article/details/7883531一、虚函数的工作原理 虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数。典型情况下,这一信息具有一种被称为 vptr(virtual table pointer,虚函数表指针)的指针的形式。vptr 指向一个被称为 vt转载 2013-09-02 15:22:30 · 606 阅读 · 0 评论 -
size of 的问题
复合数据类型,如union,struct,class的对齐方式为成员中对齐方式最大的成员的对齐方式。1.每个成员分别按自己的方式对齐,并能最小化长度2.复杂类型(如结构)的默认对齐方式是它最长的成员的对齐方式,这样在成员是复杂类型时,可以最小化长度3.对齐后的长度必须是成员中最大的对齐参数的整数倍,这样在处理数组时可以保证每一项都边界对齐#pragma转载 2013-05-04 21:13:44 · 1187 阅读 · 0 评论 -
友元函数重载运算符
1. >> 不知道你有没有看过iostream的头文件,在iostream中,>>和操作符重载的时候就非常的特殊的,因为它们本身是一个类,你在重载了以后就必须是用友元函数来调用访问,这里就有一个问题了,一个类里面是可以定义另一个类的成员的,相必这个你也知道,但是,你总不可能在一个雷里面用操作符来实例化一个成员吧?所以想要对这两个操作符重载的时候也就只能用友元函数了希望对你有所帮助,祝你顺转载 2013-09-05 13:57:02 · 1804 阅读 · 0 评论 -
字符串的全排列和组合算法
全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,因此本文对全排列作下总结帮助大家更好的学习和理解。对本文有任何补充之处,欢迎大家指出。首先来看看题目是如何要求的(百度迅雷校招笔试题)。一、字符串的排列用C++写一个函数, 如 Foo(const char *转载 2013-09-19 22:51:27 · 708 阅读 · 0 评论 -
hash_heap string为key
http://blog.csdn.net/langlang2671/article/details/8290678当hash_map中使用string为key时,需用户扩展命名空间,否则报错如下:/usr/lib/gcc/x86_64-redhat-linux/3.4.5/../../../../include/c++/3.4.5/ext/hashtable.h:518转载 2013-09-22 22:33:39 · 912 阅读 · 0 评论 -
堆排序
http://blog.csdn.net/morewindows/article/details/6709644堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于转载 2013-09-22 22:32:06 · 598 阅读 · 0 评论 -
OSI七层模型及m每层上的协议
由低到高 谈到网络不能不谈OSI参考模型,OSI参考模型(OSI/RM)的全称是开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM),它是由国际标准化组织ISO提出的一个网络系统互连模型。虽然OSI参考模型的实际应用意义不是很大,但其的确对于理解网络协议内部的运作很有帮助,也为我们学习网络协议提供了一个很好的参考转载 2013-09-05 16:17:11 · 1043 阅读 · 0 评论 -
[转]KAGGLE ENSEMBLING GUIDE
原文地址:http://mlwave.com/kaggle-ensembling-guide/Voting投票机制,少数服从多数,多个弱分类器,从概率上可以计算组合起来正确可能性更高各个分类器相关性太高的话,最终结果不好。选择相关性不太强的分类器weighing,加权重。比如一种5个classifier,最强的一个算三票,其余各个算一票。这样子,The only way for the inf转载 2015-06-15 17:01:21 · 1371 阅读 · 0 评论 -
转-static_cast、dynamic_cast reinterpret_cast和const_cast
http://blog.sina.com.cn/s/blog_4a84e45b0100f57m.html关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dy转载 2013-04-20 22:47:46 · 582 阅读 · 0 评论 -
转-C++拷贝构造函数详解
http://blog.csdn.net/lwbeyond/article/details/6202256一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plaincopyint a = 100; int b = a; 而类对象与普转载 2013-04-20 22:45:40 · 591 阅读 · 0 评论 -
[转]C++ static、const和static const 以及它们的初始化
地址:http://blog.csdn.net/yjkwf/article/details/6067267const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间。 static表示的是静态的。类的静态成员函数、静态成员变量是和类相关的,而不是和类的具体对象相关的。即使没有具体对象,也能调用类的静态成转载 2013-02-04 15:41:12 · 327 阅读 · 0 评论 -
C++ heap
make_heap();、pop_heap();、push_heap();、sort_heap();他们的头函数是algorithm首先是make_heap();他的函数原型是:void make_heap(first_pointer,end_pointer,compare_function);一个参数是数组或向量的头指针,第二个向量是尾指针。第三个参数是比转载 2011-12-18 19:14:03 · 2011 阅读 · 0 评论 -
com 与 dll 的区别
com英文为Component Object Model(组件对象模型),是微软生产软件组件的标准。它是构造二进制兼容软件组件的规范,不管组件应用何种语言编写只要遵循com规范就可以相互直接通信。提出com规范主要是为了满足: 1.程序的快速开发,可以将一个大型的工程分成若干个com组件同时开发。 2.可以动态的插入或卸载com组件。 3.可以隐藏或封装com组件内部的实现细节转载 2012-06-02 16:41:07 · 479 阅读 · 0 评论 -
C++内存泄露检测
C++内存泄露检测,具体参考以下的两篇文章。文章一,浅谈C/C++内存泄露及其检测工具http://www.cnblogs.com/taoxu0903/archive/2007/10/27/939261.html文章二,C++中内存泄露问题http://www.cnblogs.com/canyingwushang/archive/2012/02/19/2358635.html下面进原创 2012-07-28 21:06:36 · 457 阅读 · 0 评论 -
C++中内存泄露问题
原文地址:http://www.cnblogs.com/canyingwushang/archive/2012/02/19/2358635.html最近在笔试时遇到一个问题:C++中内存泄露比较难以检测,如不严加防范很容易出现严重的问题。请设计一套方案来帮助检测C++程序中的内存泄露问题。1. 如果只检测对象的内存泄露该如何做?2. 如果要检查程序中全部的内存泄转载 2012-07-28 21:13:41 · 673 阅读 · 0 评论 -
浅谈C/C++内存泄露及其检测工具
原文地址:http://www.cnblogs.com/taoxu0903/archive/2007/10/27/939261.html对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如 Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Sm转载 2012-07-28 21:14:55 · 1021 阅读 · 0 评论 -
C++程序存储空间问题
健仔说到的一个问题。void Test(void) { char str[2]; strcpy(str, "hello world"); printf(str); cout << "fuck" << endl;}这样的代码,其实在strcpy时已经出错了,为什么还可以继续输出?然后才报错?查看strcpy的源代码如此:char * strcpy(char * dest,c原创 2012-09-19 16:33:00 · 941 阅读 · 1 评论 -
[转]C++中explicit关键字的作用
explicit用来防止由构造函数定义的隐式转换。要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。例如:class things{ public: things(const std::string &name = ""): m_name(name),height转载 2012-10-18 16:23:41 · 504 阅读 · 0 评论 -
const 指针说明
在Effective C++里面,说到尽可能使用const等来替代宏#define,其中提到了指针的const,应该是这种形式:const char * const authorName = "light"这样子,*authorName 与 authorName 都是const,都不允许改变。如果是:const char * authorName = "light"原创 2012-10-22 12:02:14 · 358 阅读 · 0 评论 -
[转]c++内存的分布
一、一个经过编译的C/C++的程序占用的内存分成以下几个部分:1、栈区(stack):由编译器自动分配和释放 ,存放函数的参数值、局部变量的值等,甚至函数的调用过程都是用栈来完成。其操作方式类似于数据结构中的栈。2、堆区(heap) :一般由程序员手动申请以及释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式类似于链表。3、全局区(转载 2012-10-22 11:54:14 · 345 阅读 · 0 评论 -
C++中虚拟继承
C++中虚拟继承的概念为了解决从不同途径继承来的同名的数据成员在内存中有不同的拷贝造成数据不一致问题,将共同基类设置为虚基类。这时从不同的路径继承过来的同名数据成员在内存中就只有一个拷贝,同一个函数名也只有一个映射。这样不仅就解决了二义性问题,也节省了内存,避免了数据不一致的问题。class 派生类名:virtual 继承方式 基类名virtual是关键字,声明该基类为派生类的虚转载 2013-01-23 12:24:49 · 349 阅读 · 0 评论 -
c++ 覆盖、重载、隐藏
“overload”翻译过来就是:超载,过载,重载,超出标准负荷;“override”翻译过来是:重置,覆盖,使原来的失去效果。先来说说重载的含义,在日常生活中我们经常要清洗一些东西,比如洗车、洗衣服。尽管我们说话的时候并没有明确地说用洗车的方式来洗车,或者用洗衣服的方式来洗一件衣服,但是谁也不会用洗衣服的方式来洗一辆车,否则等洗完时车早就散架了。我们并不要那么明确地指出来就心知肚明,这就转载 2013-02-04 15:44:33 · 420 阅读 · 0 评论 -
lucene
原链接:http://www.cnblogs.com/xing901022/p/3933675.html#_labelTop主要是两部分。一是建立索引。有Directory建立目录,有IndexWriter进行写,其中的内容,就用Document封装起来(会有field的概念)。二是进行查询。有Term进行查询项的封装,有IndexSearcher进行搜索,转载 2015-10-15 16:44:16 · 375 阅读 · 0 评论