C/C++
文章平均质量分 64
张林林hey
诗酒趁年华
展开
-
《More Effective C++》学习笔记之一引用与指针
《More Effective C++》学习笔记之一引用与指针引用没有空引用 首先要认识到,在任何情况下都不能使用指向空值的引用,引用应该被初始化,这也就意味着使用引用代码的效率比使用指针的要高,因为在使用引用之前不需要测试它的合法性。指针可以被重新赋值 这也就是说,指针可以被重新赋值以指向另一个不同的对象,但是引用则总是指向在初始化时被指向的对象,以后不能改变。重载某个操作符时应该使用引原创 2016-05-04 13:23:41 · 412 阅读 · 0 评论 -
c++笔记之赋值函数,拷贝构造函数,构造函数,析构函数
最近两个周,一直在断断续续的看这些东西,《Effective c++》,再加上杨老师的不间断洗脑。虽然迷迷糊糊,却也似乎有了几分眉目。让我先整理下脑袋,の,还有思路。。估计后续要不断的修改这篇文章了。学渣的痛,好痛,23333.。。 首先,需要注意的是,每个类只有一个析构函数和一个赋值函数,但却可以有多个构造函数(包含一个拷贝构造函数,其他的称为普通构造函数)。原创 2015-11-01 17:33:12 · 462 阅读 · 0 评论 -
基础知识之字符串函数
1.**strcat函数char *my_strcat(char*sd,const char*si){ assert(sd!=NULL&&si!=NULL); char *str = sd; while(*str++!='\0'); --str; while(*str++=*si++); return sd;} **2.strcmp函数** vo原创 2015-11-09 10:58:11 · 376 阅读 · 0 评论 -
基础知识之关于far,near,huge,base指针
在研究两个指针之前,我们先来理清win16,win32的一些知识。运行在16位CPU(80826微处理器)微机上的Windows16,对于内存按照“分段内存模式”(Segment Memory Mode)进行使用.在DOS下(实模式)地址是分段的,每一段的长度为64K字节,刚好是16位(二进制的十六位)。Windows 95开始的32位机上,支持32位平面内存模式,为Win32写的程序使用原创 2016-03-08 15:09:30 · 1810 阅读 · 0 评论 -
C语言笔记之关键字(一)
register: 请求编译器尽可能的将变量存储在CPU内部寄存器,提高访问效率。补充:寄存器是一块一块小的存储空间,其存取速度比内存(大地址)要快得多,离CPU很近。register变量可能不存放在内存中,所以不能用取地址运算符 static: 修饰变量,但又分为局部变量和全局变量,但都存在内存的静态区,不过作用域不同。前者在函数体里面定义的,之鞥在这个函数里调用了,即使该函原创 2016-03-10 16:01:29 · 561 阅读 · 0 评论 -
C语言笔记之关键字(二)
柔性数组: 结构中的最后一个元素是未知大小的数组,这就叫做柔性数组成员,但结构体中的柔性数组成员之前必须至少一个其他成员。sizeof返回的这种结构的大小是不包括柔性数组的内存。包含柔性数组成员的结构用malloc()函数进行内存的动态分配,并且分配的内存应该大于结构的大小,以适应柔性数组的预期大小。typedef struct st_type{ int i; int a原创 2016-03-10 18:54:32 · 375 阅读 · 0 评论 -
C++学习笔记之多态与虚函数,虚函数表
封装,继承和多态是C++语言的三大特性。而虚函数的作用就是实现多态性,多态性又包含编译时的多态和运行时的多态两大类,即静态多态性和动态多态性。 静态多态性是指定义在一个类或一个函数中的同名函数,根据参数表区别语义,并通过静态联编来实现,静态联编在编译时就已经确定好了。 动态多态性: 当程序发现虚函数名前的关键字virtual后,会自动将其作为动态联编处理,即在程序运行时动态的选择合适的成员函数原创 2016-03-12 22:57:59 · 498 阅读 · 0 评论 -
基础知识之内存管理基础
内存分配方式有三种: (1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。 (2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 (3) 从堆上分配,亦称动态内存分配。程序在运行的时原创 2016-04-04 16:30:59 · 403 阅读 · 0 评论 -
基础知识之深入分析malloc和new
今天这篇文章,主要是分析malloc和new的区别。1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。 原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应原创 2016-04-16 20:58:50 · 481 阅读 · 0 评论 -
《深度探索C++对象模型》学习笔记之Data语意学
在写这个之前,我为毛觉得莫名激动,为何上篇文章阅读量都破三百了,难道是提到了什么了不得的关键字啊啊哈哈哈我不啰嗦了 你觉得一下代码结果是什么呢?#include<iostream>using namespace std;class A{};class Y:public virtual A{};class X:public virtual A{};class Z:public X,原创 2016-05-07 22:26:50 · 712 阅读 · 0 评论