C++ technology
文章平均质量分 73
stevenzhang1986
这个作者很懒,什么都没留下…
展开
-
C语言中的逻辑运算符和位运算符总结
老分不清一个&号和俩的用法,今天专门拿出来整理整理:一、逻辑运算符: 包括:1。&&逻辑与 2。||逻辑或 3。!逻辑非 逻辑运算符用于对包含关系运算符的表达式进行合并或取非 对于使用逻辑运算符的表达式,返回0表示“假”,返回1表示“真”。关于逻辑运算符的解释 请注意:任何使用两个字符做符号的运算符,两字符之间不应有空格,即将==写成= =是错误的。 假设一个程序在原创 2011-06-21 14:24:00 · 8287 阅读 · 0 评论 -
C语言字符串函数详解(2) strcpy、strcmp、strcat、strlen、strstr
strcpy的源码:char *strcpy(char *strDes, const char *strSrc) { assert((strDes != NULL) && (strSrc != NULL)); char *address = strDe转载 2011-09-22 23:21:52 · 967 阅读 · 0 评论 -
算法排序-交换排序(冒泡排序,快速排序)
交换排序有两种:冒泡排序和快速排序。 冒泡排序 冒泡排序就是通过每趟排序,把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不会再无聊地把他们俩交换一下的;如果两个相等原创 2011-09-09 10:43:41 · 544 阅读 · 0 评论 -
程序运行时在内存中的分布
在操作系统中,一个进程就是处于执行期的程序(当然包括系统资源),实际上正在执行的程序代码的活标本。那么进程的逻辑地址空间是如何划分的呢?图1做了简单的说明(Linux系统下的)。原创 2011-07-07 08:38:51 · 767 阅读 · 0 评论 -
函数对象
转自:http://www.cnblogs.com/ly4cn/archive/2007/07/21/826885.html函数对象不是函数指针。但是,在程序代码中,它的调用方式与函数指针一样,后面加个括号就可以了。 这是入门级的随笔,说的是函数对象的定义,转载 2011-07-05 22:45:29 · 327 阅读 · 0 评论 -
既然使用变量就可以访问数据,那为何还用指针呢?
既然使用变量就可以访问数据,那为何还用指针呢?换句话说,我该何时用指针呢?这个问题应该困扰不少像我一样对编程还不开窍的人,今天看了一些,总结一下: 指针最常被用于完成下列3种任务: 1.管理自由存储区(堆)中的数据,即程序员自己申请的内存中的数据; 2.访原创 2011-07-07 10:02:00 · 1211 阅读 · 0 评论 -
总结 关于C风格字符串
1.字符串字面值 字符串字面值是一串常量字符,字符串字面值常量用双引号括起来的零个或多个字符表示,为兼容C语言,C++中所有的字符串字面值都由编译器自动在末尾添加一个空字符 "Hello World!" //simple string literal原创 2011-07-06 22:58:09 · 823 阅读 · 1 评论 -
C++拷贝构造函数(深拷贝,浅拷贝)
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include using namespace std;class CExample {private: int a;public: CExample(int b) { a=b;转载 2011-06-30 14:55:00 · 232 阅读 · 0 评论 -
纯虚函数 抽象类
虚函数是C++多态的一种表现 ,例如:子类继承了父类的一个函数(方法),而我们把父类的指针指向子类,则必须把父类的该函数(方法)设为virturl(虚函数)。 使用虚函数,我们可以灵活的进行动态绑定,当然是以一定的开销为代价。 如果父类的函数(转载 2011-07-04 15:10:34 · 2943 阅读 · 0 评论 -
c++关键字详解(volatile, mutable, explicit, dynamic_ cast(expression))等
转自:http://cyinger-smiling.blogbus.com/logs/31041587.html1 volatile有些变量是用volatile关键字声明的。当两个线程都要用到某一个变量且该变量的值会被改变时,应该用volatile声明,该关键字的作用是防止优化编译器把变量从内存装入CPU寄存器中。如果变量被装入寄存器,那么两个线程有可能一个使用内存中的变量,一个使用寄存器中转载 2011-06-30 09:38:00 · 429 阅读 · 0 评论 -
关于类的构造函数说明
C++primer里关于类的构造函数说的太乱了,在此自己整理一下。一 默认构造函数: 从字面意思理解,就是在定义构造函数时会给他默认的值。也就是说,无须输入参数的构造函数都可以作为默认构造函数。这样就好理解了!所以默认构造函数可以有两种形式: 1.若programer没有提供任何构造函数,则C++提供一个默认的构造函数,该默认构造函数是无参构造函数,它仅负原创 2011-06-30 08:50:00 · 377 阅读 · 0 评论 -
关联容器
关联容器支持通过键来高效地查找和读取元素。两个基本的关联容器类型是map和set。map的元素以键-值对的形式组织:键用作元素在map的索引,而值则表示所存储和读取的数据。set仅包含一个键,并有效地支持关于某个键是否存在的查询。set和map类型的对象不允许为同一个键添加第二个元素。如果一个键必须对应多个实例,则需使用multimap或mutiset类型,这两种类型允许多个元素拥有相同的键。原创 2011-06-27 08:21:00 · 384 阅读 · 0 评论 -
C++类构造函数初始化列表
构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。例如:class CExample {public: int a; float b; //构造函数初始化列表 CExample(): a(0),b(8.8) {} //构造函数内部赋值 CExample() { a=0;原创 2011-06-23 10:28:00 · 378 阅读 · 0 评论 -
cin、cin.get()、cin.getline()、getline()、gets()函数的用法
1、cin>> 用法1:最基本,也是最常用的用法,输入一个数字:#include using namespace std;main (){int a,b;cin>>a>>b;cout}输入:2[回车]3[回车]输出:5用法2:接受一个字符串,遇“空格”、“TAB”、“回车”都结束#include using namespace std;main (){c原创 2011-06-22 12:56:00 · 458 阅读 · 0 评论 -
C语言字符串函数详解(1)
void *memset(void *dest, int c, size_t count); //将dest前面count个字符置为字符c. 返回dest的值.void *memcpy(void *dest,原创 2011-09-22 23:01:10 · 916 阅读 · 0 评论