c++ primer笔记
逗逗军001
c/c++
展开
-
共用体unoin
一共用体的概念当需要把不同类型的变量存放到同一段内存单元或对同一段内存单元的数据按不同类型处理则需要使用共用体数据结构例把一个整型变量一个字符型变量一个实型变量放在同一个地址开始的内存单元中共用体的定义形式union 共用体名 成员列表变量列表注意区分共用体各成员占相同的起始地址所占内存长度等于最长的成员所占内存结构体各成员占不同的地址所占内存长度等于全部成员所占内存之和 二转载 2017-06-11 01:48:10 · 585 阅读 · 0 评论 -
c++模板参数自动推导
上次,我们看了什么是模板函数,今天,我们就从这个模板函数入手,继而引出一个新的知识点-模板参数自动推导。为了介绍清楚什么是模板参数自动推导,我们先定义几个术语,通过这些术语来描述比较方便,这些术语是:模板形参,模板实参,模板函数形参,模板函数实参。 为了表达明确,我们先来看一下图1,图1中指出了什么是模板参数,模板实参,模板函数形参,模板函数实参。图1 术语 就像图1所示,templat转载 2017-06-21 09:12:52 · 6768 阅读 · 0 评论 -
malloc realloc calloc 的故事
三个函数的申明分别是:void* realloc(void* ptr, unsigned newsize); void* malloc(unsigned size); void* calloc(size_t numElements, size_t sizeOfElement); 都在stdlib.h函数库内它们的返回值都是请求系统分配的地址,如果请求失败就返回NULL(1) realloc 更原创 2017-06-20 10:06:12 · 310 阅读 · 0 评论 -
操作系统字节顺序表示
假设变量x的类型是int,位于地址ox100处,它的十六进制数值为 ox01234567。地址范围为ox100~ox103的字节顺序依赖于机器的类型:大端法:ox100 ox101 ox 102 ox103- - - - - - - - - - - - – — - - -01 23原创 2017-06-28 15:43:27 · 770 阅读 · 0 评论 -
c++的代码重用
包含对象成员的类c++的主要目标是促进代码的重用。公有继承是实现目标之一,但并不是唯一的机制,其中之一便是本身使用另一个类的对象。这种方法称为包含,组合。假如要设计一个学生类,一个成员表示姓名,一个成员表示分数。对于姓名,可以使用字符数组来表示,但这将限制姓名长度,也可以使用char指针和动态内存分配,但这样会需要大量代码支持。一个较好的解决方法是使用一个已经开发好的类的对象来表示。对于考试分数,也原创 2017-06-06 16:32:38 · 428 阅读 · 0 评论 -
c++ Template 的那些事
1.模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(int x,int y);{return(x>y)?x:y ;}//函数2.float max( flo转载 2017-06-16 10:34:50 · 947 阅读 · 0 评论 -
c++oop分析二:
动态内存和类原创 2017-05-17 10:15:11 · 382 阅读 · 0 评论 -
c++oop分析一:
运算符重载运算符重载是一种形式的c++多态。用户定义多个名称相同但参数列表不相同的函数,称为函数重载或函数多态。c++允许将运算符重载扩展到用户定义的类型,例如允许使用+将两个对象相加。1.运算符函数格式如下:operatorop<argument-list>下面看对比:(1)没重载://定义时间类:clsss Time{ private: public : Time sum(c原创 2017-05-17 00:31:42 · 419 阅读 · 0 评论 -
c++之指针一
1,初次认识指针:(1)指针是一个变量, 存储的是变量的内存地址。首先我们熟悉一下常规变量的地址。原创 2017-05-10 20:00:45 · 259 阅读 · 0 评论 -
c++之指针二
函数指针:与数据项类似,函数也有地址。函数的地址是存储其机器语言代码的内存开始地址。(1)获取函数指针:获取函数地址很简单:只有使用函数名即可。也就是说think()是一个函数。则thinkj就是函数的地址。要将函数作为参数传递,必须传递函数名。一定要注意区分传递的是函数地址还是函数返回值。(2)声明函数指针:声明指向某种数据类型的函数指针时,必须指定指针指向的类型。同样,声明指向函数的指针时,也必原创 2017-05-12 01:17:48 · 284 阅读 · 0 评论 -
c++类继承
基类与派生类(1)派生类对象存储了基类的数据成员 (2)派生类可以使用基类的方法 (3)派生类需要自己的构造函数 (4)派生类可以根据需要添加额外的数据成员和成员函数。构造函数的考虑: 派生类不能直接访问基类的私有成员,而必须通过基类方法进行访问。 创建派生类对象时,程序首先创建基类对象。 派生类构造函数应通过成员初始化列表将基类信息传递给基类构造函数,派生类构造函数应初始化派生类新增的原创 2017-05-22 23:58:09 · 264 阅读 · 0 评论 -
将两个顺序表的合并为顺序表
#includeusing namespace std;const int x=100;const int y=100;const int z=200;void main(){ int a[x]; int b[y]; int c[z]; int i,j,k,m,n; cout cin>>m; la:for(i=0;i原创 2015-04-21 11:47:31 · 1906 阅读 · 1 评论 -
C++实现顺序表
c++实现顺序表原创 2015-04-20 20:37:04 · 852 阅读 · 1 评论 -
类成员函数中const的使用
一般放在函数体后,形如:void fun() const; 任何不会修改数据成员的函数都因该声明为const类型。如果在编写const成员函数时,不慎修改了数据成员,或者调用了其他非const成员函数,编译器将报错,这大大提高了程序的健壮性。如:class Stack { public: void Push(int elem); int Pop(void转载 2015-04-19 16:31:30 · 742 阅读 · 0 评论 -
c开源小项目
开源世界有许多优秀的开源项目,我选取其中十个最优秀的、最轻量级的C语言的项目,希望可以为c语言开发人员提供参考。1. WebbenchWebbench是一个在Linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到60转载 2017-06-27 15:26:03 · 1810 阅读 · 0 评论