随笔分类 - C++基础知识
摘要:1 多态,虚函数与虚函数表2 智能指针的作用及实现3 sizeof,不能使用sizeof的情况下判断系统的位数?4 三次握手,四次挥手,中间的等待5 空class的大小,包含int和虚函数的大小6 链表是否有环,O(1)时间复杂度删除指定节点,海量数据处理(top...
阅读全文
摘要:C的NULL在C语言中,我们使用NULL表示空指针,也就是我们可以写如下代码:int *i = NULL;foo_t *f = NULL;实际上在C语言中,NULL通常被定义为如下:#define NULL ((void *)0)也就是说NULL实际上是一个void ...
阅读全文
摘要:1、new/delete是C++的操作符,而malloc/free是C中的函数。2、new做两件事,一是分配内存,二是调用类的构造函数;同样,delete会调用类的析构函数和释放内存。而malloc和free只是分配和释放内存。3、new建立的是一个对象,而mallo...
阅读全文
摘要:一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — ...
阅读全文
摘要:C++常见问题: 字符串分割函数 splitC++标准库里面没有字符分割函数split ,这可太不方便了,我已经遇到>3次如何对字符串快速分割这个问题了。列几个常用方法以备不时之需。 方法一: 利用STL自己实现split 函数(常用,简单,直观)原型: vector...
阅读全文
摘要:1 递归需要满足的两个条件:(1)有反复执行的过程(调用自身);(2)有跳出反复执行过程的条件(递归出口)。2 递归经典例子:(1) 阶乘n!=n*(n-1)*(n-2)*...1(n>0)int recursive(int n){ int result=0; ...
阅读全文
摘要:在Dlg.h文件中加入 #include using namespace std;extern vector aaa; 再在Dlg.cpp文件中加入vector aaa; 详情参考http://bbs.csdn.net/topics/390573469 ...
阅读全文
摘要:1 全局变量(extern)当两个类都需要使用共同的变量,我们将这些变量定义为全局变量。比如,res.h和res.cpp分别来声明和定义全局变量,类ProducerThread和ConsumerThread来使用全局变量。/**********res.h声明全局变量*...
阅读全文
摘要:#include #include #include using namespace std;int main(){ vector a(10); int b[10]; int *c = new int[10]; char str2[10]; char *str3 =...
阅读全文
摘要:C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗? 能!struct能继承吗? 能!!struct能实现多态吗? 能!!! 既然这些它都能实现,那它和class还...
阅读全文