C++
文章平均质量分 79
Mars尘
一步一步往前走,不再浮躁
展开
-
虚拟函数
虚拟函数是C++语言引入的一个很重要的特性,它提供了“动态绑定”机制,正是这一机制使得继承的语义变得相对明晰。对继承体系的使用者而言,此继承体系内部的多样性是“透明的”。它不必关心其继承细节,处理的就是一组对它而言整体行为一致的“对象”。 目录 1虚拟函数的特性 2实例展示 3虚拟函数的“动态绑定” 4内联函数 5程序功能 6性能缺陷转载 2014-03-07 15:30:46 · 591 阅读 · 0 评论 -
malloc/free与new/delete的区别
相同点:都可用于申请动态内存和释放内存 不同点: (1)操作对象有所不同。 malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内转载 2014-04-25 19:41:37 · 303 阅读 · 0 评论 -
当C++指向对象的指针被赋值为NULL,对象那些函数可以运行?
当C++指向对象的指针被赋值为NULL,对象那些函数可以运行? ——源自一道笔试选择题: 当程序如下时可以运行 [cpp] view plaincopy "font-size:24px;">// 3fun.cpp : Defines the entry point for the console application.转载 2016-01-15 20:50:55 · 2565 阅读 · 0 评论 -
C++中的单例模式
如果采用全局或者静态变量的方式,会影响封装性,难以保证别的代码不会对全局变量造成影响。 1.懒汉式是以时间换空间的方式。 2.饿汉式是以空间换时间的方式。 懒汉式 懒汉式的特点是延迟加载,比如配置文件,采用懒汉式的方法,顾名思义,懒汉么,很懒的,配置文件的实例直到用到的时候才会加载。。。。。。 ? 1 2 3转载 2016-01-19 22:57:35 · 423 阅读 · 0 评论 -
动态创建二维vector数组
二维vector vector > ivec(m ,vector(n)); //m*n的二维vector 动态创建m*n的二维vector 方法一: vector > ivec; ivec.resize(m); for(int i=0;i 方法二: vector > ivec; ivec.resize(m,vector(n)); 动态创建二维数组a[m][n]转载 2015-12-05 18:48:41 · 430 阅读 · 0 评论