
CPP
samkieth
只有行动才能消除你心中所有的不安
展开
-
Cpp--C++中排序常用(菜鸟上路,持续更新)
C++中STL里面有个sort函数,可以直接对数组排序,使用这个函数,需要包含头文件。 这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。也就是说,排序的区间是[a,b)。简单来说,有一个数组int a[100],要对从a[0]到a[99]的元素进行排序,只要写sort(a,a+100)就行了,默认的排序方式是升序。排序的数据类型不局限于整数,只要原创 2015-10-14 09:41:49 · 2364 阅读 · 0 评论 -
Cpp--STL的组成
STL有三大核心部分:容器(Container)、算法(Algorithms)、迭代器(Iterator),容器适配器(container adaptor),函数对象(functor),除此之外还有STL其他标准组件。通俗的讲:容器:装东西的东西,装水的杯子,装咸水的大海,装人的教室……STL里的容器是可容纳一些数据的模板类。算法:就是往杯子里倒水,往大海里排污,从教室里撵人……STL里的转载 2015-12-10 14:10:09 · 1149 阅读 · 0 评论 -
Cpp--关于windows.h头文件
在编译过程中,出现了e:\vs2012\vc\atlmfc\include\windows.h(27): fatal error C1083: 无法打开包括文件:“windef.h”: No such file or directory的问题,调用windows.h的头文件看一下:出现了很多这种不能调用的问题,但是系统文件并没有去改变。那么肯定是编译过程中的问题了。在网上重新下载了window原创 2016-03-02 10:11:31 · 5654 阅读 · 0 评论 -
Cpp--opencv中连续储存多帧图片技巧
C++是一门面向对象的编程语言,现已广泛使用,它由C语言发展而来,几乎兼容所有C语言代码。C++语法丰富,灵活高效,同时也意味着复杂不易学,尤其是使用高级特性时,内存布局让人抓狂。原创 2016-03-22 16:04:33 · 2258 阅读 · 1 评论 -
Cpp--重载全局的new和delete
#include#include#include#include#define MAX_SIZE 30000char MemArr[MAX_SIZE];char *pMem=MemArr;void *operator new(unsigned bytes){ printf("myGlobal-operator-new!bytes=%d\n",bytes); if(pMem+by原创 2016-03-17 14:10:56 · 1203 阅读 · 0 评论 -
Cpp--拷贝构造函数
拷贝构造函数,是一种特殊的构造函数,具有一般构造函数所有的特性。拷贝构造函数只有一个形参,而且其形参为本类对象的引用。原形为:(&);它的作用是使用一个已存在的对象----由拷贝构造函数的参数指定的对象(的各成员当前值)去初始化另一个相同的新对象(尚不存在,正在创建)。如果用户没有声明类的拷贝构造函数(即没有给出显式的拷贝构造函数时),系统会自动生成一个隐含的(缺省的)拷贝构造函数,它只进行对原创 2016-03-07 19:41:10 · 1248 阅读 · 0 评论 -
Cpp--析构函数作虚函数引出问题
当派生类对象经由一个基类指针被删除,而该基类带着一个非虚析构函数,其结果未有定义-实际执行时通常发生的是对象的派生成分没被销毁。给基类一个虚析构函数,此后删除派生类对象就会销毁整个对象,包括所有的派生类成分。任何类只要带有virtual函数就几乎确定应该也有一个virtual析构函数。如果类不含virtual函数,通常表明它并不意图被用作一个基类或者不需要多态性。当然也并不是盲目设定为原创 2016-02-01 10:27:58 · 514 阅读 · 0 评论 -
Cpp--类的组合
类的组合其实描述的就是在一个类里内嵌了其他类的对象作为成员的情况,它们之间的关系是一种包含与被包含的关系。简单说,一个类中有若干数据成员是其他类的对象。以前的教程中我们看到的类的数据成员都是基本数据类型的或自定义数据类型的,比如int、float类型的或结构体类型的,现在我们知道了,数据成员也可以是类类型的。 如果在一个类中内嵌了其他类的对象,那么创建这个类的对象时,其中的内嵌原创 2016-03-08 19:08:05 · 1333 阅读 · 0 评论 -
java调用动态链接库
JNI其实是Java Native Interface的简称,也就是java本地接口。它提供了若干的API实现了和Java和其他语言的通信(主要是C&C++)。也许不少人觉得Java已经足够强大,为什么要需要JNI这种东西呢?我们知道Java是一种平台无关性的语言,平台对于上层的java代码来说是透明的,所以在多数时间我们是不需要JNI的,但是假如你遇到了如下的三种情况之一呢?转载 2015-12-01 14:46:09 · 2369 阅读 · 0 评论 -
Cpp--string中npos
我们首先看一段程序:#include #include using namespace std;int main( void ){ string s1( "123456789" ); size_t x = s1.find_first_of( '0', 0 ); if (x == string::npos) { cout << "not find"原创 2015-12-07 12:13:50 · 627 阅读 · 0 评论 -
Cpp--C++中函数模板的用法详细解析
C++中的模板可分为函数模板和类模板,而把函数模板的具体化称为模板函数,把类模板的具体化成为模板类。下面让我们分别看看什么是函数模板和类模板吧1.什么是模板假设现在我们完成这样的函数,给定两个数x和y求式子x^2 + y^2 + x * y的值 .考虑到x和y可能是 int , float 或者double类型,那么我们就要完成三个函数:int fun(转载 2015-10-23 20:16:46 · 740 阅读 · 0 评论 -
Cpp--虚函数的存在
1.虚函数基础:定义:在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数。用法格式:virtual 函数返回类型 函数名(参数表) {函数体}作用:它是实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数的基础。2.定义虚函数的限制:2.1 非类的成员函数不能定义为虚函数,类的成员函数中静态成员函数和构造函数也不能定义为虚函数原创 2015-11-09 14:01:42 · 959 阅读 · 0 评论 -
Cpp--字符串快速查找运用
对于c++中字符操作,在c中已经有了完整强大的操作函数,首先从一个函数说起:c_str()。const char *c_str();c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。注意:一定要使用str原创 2015-10-13 21:11:43 · 3688 阅读 · 0 评论 -
Cpp--sizeof与strlen区别与联系
对于字符数组与字符指针:1. 以字符串形式出现的,编译器都会为该字符串自动添加一个0作为结束符,如在代码中写"abc",那么编译器帮你存储的是"abc\0".2. 字符串直接量作为字符指针的初始值 "hello"是一个字符串直接量,编译器将其作为const char*处理,与之相关联的内存空间位于内存的只读部分,即允许编译器重用指向等价字符串直接量的引用以优化内存使用,即使程序原创 2015-10-21 17:04:07 · 829 阅读 · 0 评论 -
Cpp--拷贝构造函数(深拷贝与浅拷贝)详解
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include using namespace std;class CExample {private: int a;public: CExample(in原创 2015-12-10 10:29:18 · 3202 阅读 · 0 评论 -
Cpp--next_permutation函数
这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件下面是以前的笔记 与之完全相反的函数还有prev_permutation (1) int 类型的next_permutation int main(){ int a[3];a[0]=1;a[1]=2;a[2]=3; do{cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<en转载 2015-11-22 12:07:50 · 713 阅读 · 0 评论 -
Cpp--const限定符
1.定义const对象const把一个对象转换成一个常量,因为常量在定义后不能修改,所以定义时必须初始化。[cpp] view plaincopyconst std::string hi = "hello!"; // ok: initialized const int i, j = 0; // error: i is unini原创 2015-11-12 21:09:52 · 695 阅读 · 0 评论 -
Cpp--getch(),getche(),getchar()的区别
先说基本区别。 (1) getch()和getche()函数 这两个函数都是从键盘上读入一个字符。其调用格式为: getch(); getche(); 两者的区别是: getch()函数不将读入的字符回显在显示屏幕上, 而getche() 函数却将读入的字符回显到显示屏幕上。 例1: #include转载 2015-12-20 15:24:27 · 1205 阅读 · 0 评论 -
Cpp--改变形参指针无法实现双向传值的问题
先看一段代码:利用形参指针来实现的。但是却不可以改变主调函数中的值。#include#includeusing namespace std;void fun1(double *p1,double *p2){ p1=new double ; //被调函数中改变了形参指针p1的值(通过new所分配的动态空间首地址赋给了p1) *p1=99.9; //指向了另外的位置,无法原创 2016-03-09 12:15:07 · 541 阅读 · 0 评论