c++
programerchen
这个作者很懒,什么都没留下…
展开
-
c++ const限定符的使用
const限定符的使用 刚写完关于volatile限定符,于是想将const的相关用法一并整理。 =================const 与volatile的关系:============================== 根据c/c++语法,const可以出现的地方,volatile几乎也都可以出现。但是,const修饰的对象其值不能改变,而v转载 2014-03-03 21:14:15 · 602 阅读 · 0 评论 -
关于运算符重载(总结)
关于运算符重载(总结) 1、运算符重载是为了对用户自定义数据类型的数据的操作与内定义的数据类型的数据的操作形式一致。不能重载的5个运算符:*成员指针访问运算符;::域运算符;sizeof长度运算符;?:条件运算符;.成员访问符。 运算重载的三种方式:普通函数,友元函数,类成员函数。 当重载为成员函数时,双目运算符仅有一个参数。对单目运算符,重载为成员函数时,不能再显式说明参数转载 2014-03-05 18:02:57 · 503 阅读 · 0 评论 -
c++构造函数再调用构造函数
题目如下:问下列代码的打印结果为0吗? #include stdlib.h> #include iostream> using namespace std; struct CLS { int m_i; CLS( int i ) : m_i(i){} CLS() { CLS(0); } }; int mai转载 2014-03-08 10:53:08 · 859 阅读 · 0 评论 -
malloc和new的区别
1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。 2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于m原创 2014-03-08 15:26:23 · 450 阅读 · 0 评论 -
二维数组动态分配空间
C 二维数组动态分配和释放 (1)已知第二维 Code-1 char (*a)[N];//指向数组的指针 a = (char (*)[N])malloc(sizeof(char *) * m); printf("%d\n", sizeof(a));//4,指针 printf("%d\n", sizeof(a[0]));//N,一维数组 free(a); (2)已知第一维 Code-2 char*转载 2014-03-09 23:15:01 · 836 阅读 · 0 评论 -
STL各种排序
//By skywind STL中有多种排序算法,各有各的适用范围,下面听我一一道来: I、完全排序 sort() 首先要隆重推出的当然是最最常用的sort了,sort有两种形式,第一种形式有两个迭代器参数,构成一个前开后闭的区间,按照元素的 less 关系排序;第二种形式多加一个指定排序准则的谓词。sort基本是最通用的排序函数,它使用快速排序算法,并且在递归过程中,当元素数目小于一转载 2014-04-09 11:34:22 · 770 阅读 · 0 评论