我的复习笔记C++
xiaobo620
这个作者很懒,什么都没留下…
展开
-
C++面试题收集
1:多态是如何实现绑定的?多态的绑定可以分为运行是多态和编译时多态● 编译时的多态性编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。● 运行时的多态性运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。C#中,运行时的多态性通过虚成员实现。编译时的多态性为我们提供了运行速度快的特点,而原创 2012-04-18 13:27:02 · 494 阅读 · 0 评论 -
拷贝构造函数 深拷贝 浅拷贝(待续)
资料:http://www.cnblogs.com/BlueTzar/articles/1223313.html原创 2012-04-18 12:58:05 · 1331 阅读 · 0 评论 -
垃圾回收
转自:http://www.cnblogs.com/yuyijq/archive/2011/05/28/2060733.html1:引用计数引用计数(Reference Counting)引用计数,顾名思义,就是每个对象上有个计数器,当添加了一个对它的引用时它的计数器就会加1,当不再使用这个引用时它的计数器就会递减1。当计数器为0的时候则认为该对象是垃圾,可以被回收了,转载 2012-04-13 13:48:19 · 630 阅读 · 0 评论 -
静态绑定与动态绑定
转自http://blog.csdn.net/livelylittlefish/article/details/2171521#静态绑定与动态绑定 静态绑定:编译时绑定,通过对象调用动态绑定:运行时绑定,通过地址实现 C++的多态性转载 2012-04-11 09:16:00 · 436 阅读 · 0 评论 -
The Semantics of Data
第三章 前言 讨论 class的大小问题#include"iostream"using namespace std;class X{};class Y:public virtual X{};class Z:public virtual X{};class A:public Y,public Z{};int main(){ cout<<"X:"<<sizeof(X)原创 2011-11-19 15:23:27 · 428 阅读 · 0 评论 -
存储过程
转自:http://www.ezloo.com/2008/10/stored_procedure.html存储过程(Stored Procedure) 存储过程就是已经编译好的、优化过的放在数据库服务器中的一些SQL语句;可供应用程序直接调用。使用存储过程有以下几个优点:1、执行速度比普通的SQL语句快 再运行存储过程前,数据库已对其进行转载 2012-03-19 09:39:47 · 396 阅读 · 0 评论 -
C++
c++模型笔记:第一章:关于对象1:c中数据和处理数据是分开声明的,c没有支持数据和函数之间的关联性,程序性的2:c++中 data members直接内含在每一个class object 之中,就像c struct一样,而member function 虽然在object 之中,但每一个non-inline member function只会诞生一个函数实体,拥有inline原创 2011-11-17 20:22:12 · 348 阅读 · 0 评论 -
多线程面试
一.概念性问答题第一题:线程的基本概念、线程的基本状态及状态之间的关系?进程概念 进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是系统中的并发执行的单位转载 2012-04-06 13:51:57 · 2706 阅读 · 0 评论 -
C++内存管理转自http://soft.yesky.com/lesson/110/2381610.shtml
转自http://soft.yesky.com/lesson/110/2381610.shtml踏入C++中的雷区——C++内存管理详解2006-04-25 09:22作者:蒋涛出处:计算机教学网责任编辑:方舟 伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody —转载 2012-03-16 10:54:01 · 466 阅读 · 0 评论 -
C++STL笔记
vectorvector::erase函数iterator erase ( iterator position );iterator erase ( iterator first, iterator last );Removes from the vector container either a single element (position) or a range of原创 2012-03-27 14:47:39 · 478 阅读 · 0 评论 -
编写String类
class String{ public: String(const char *src = NULL);//构造函数 String(const String &other);//拷贝构造函数 ~String(void);//析构函数 String & operator =(const String &other);//赋翻译 2012-03-26 20:36:02 · 1760 阅读 · 0 评论 -
strcpy函数
转自:http://www.chinaunix.net/jh/23/25356.html题目: 已知strcpy函数的原型是: char * strcpy(char * strDest,const char * strSrc); 1.不调用库函数,实现strcpy函数。 2.解释为什么要返回char *。 解说:转载 2012-03-20 09:45:31 · 353 阅读 · 0 评论 -
判断x是否为2的若干次幂
判断x是否为2的若干次幂关键运算 i & (i - 1)i 和 i-1的二进制区别,i若为2的若干次幂,则i与i-1的区别为相反----------------10000000000000001000000000000000000000000000000001----------------200000000000000100000000000000原创 2012-03-24 11:58:35 · 1700 阅读 · 1 评论 -
位图
STL里的位标识类,STL bitset是一个STL类,用于处理以位和位标志表示的信息,std::bitset不是STL容器类,因为它不能调整长度,也不具备容器的其他特征(见容器特征),如通过迭代器进行访问。这是一个实用类,针对处理长度在编译阶段已知的位序列进行了优化。示例:#include #include #include int main(){ bitset eig原创 2012-03-10 13:41:25 · 454 阅读 · 0 评论 -
我的笔记
1:调用基类方法#includeusing namespace std;class Mammal{ public: void Move() const {cout<<"move one step"<<endl;} void Move(int distance)//加cosnt和不加的区别 { cout<<"move"<<distance<<"step"<<endl; }原创 2011-11-12 20:30:39 · 405 阅读 · 0 评论 -
二叉树的遍历
二叉树的非递归遍历#include"stdio.h"#include#include#includeusing namespace std;//数据结构typedef struct node{ int value; struct node *lchild; struct node *rchild;}BiNode;typedef BiNode* BiTr原创 2012-10-25 10:14:10 · 543 阅读 · 0 评论