- 博客(12)
- 资源 (7)
- 收藏
- 关注
原创 工厂模式
今天看完设计模式的第一节,工厂模式。现在将源代码写下,记录每一个脚印。工厂模式:用一个工厂类管理其他类。这样代码的灵活性更强。#include #include #include using namespace std;//计算类的基类,所有新计算方式都继承本类,可以让程序灵活性更强。class Calculate{public: Calculate(){}
2013-05-29 16:53:53 861
原创 typename的两个作用
C++中,typename的作用有两个:1.模板中用于引入一个模板参数2.当访问一个类或结构体中的自定义类型的时候,用typename修饰,防止语法歧义。考虑以下代码:templatevoid foo(const T& t){// 声明一个指向某个类型为T::bar的对象的指针 T::bar* p;}struct StructWithBarAsType{ typed
2013-05-24 16:35:38 1137
转载 VS2010快捷键大全
VS2010版快捷键Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口 C
2013-05-23 09:53:21 1144
转载 C++迭代器类型
STL 主要是由 containers(容器),iterators(迭代器)和 algorithms(算法)的 templates(模板)构成的. 对应于它们所支持的操作,共有五种 iterators(迭代器)。 input output \ /
2013-05-21 22:09:33 1657
原创 allocator类
allocator类就像C中的malloca函数,却不像是C中的new关键字,因为new关键字和allocator做的事情不同:1.allocator只是分配内存2.new关键字先分配对象,再构造一个对象。所以说,allocator使得内存分配和创建对象分隔开来了。用allocator类一般需要经过以下几步:1.调用allocator开辟一块内存。2.调用construct
2013-05-21 16:28:35 1507 1
原创 顺序容器list、vector、deque的优劣
list容器的内存不是连续的,相当于链表,这样就可以理解他的特点了:1.可以很方便的对容器中的任意位置进行删除和添加2.因为他的内存分配不是连续的,所以如果要随机访问一个元素,必须从头开始遍历,知道找到合适的元素,所以随机访问一个list容器代价会比较大。vector容器的内存是连续的,相当于数组(本质上他就是数组),所以我们也可以知道他有哪些特点:1.可以很方便的进行
2013-05-20 13:43:14 1448
转载 STL算法大全
STL算法部分主要由头文件,,组成。要使用 STL中的算法函数必须包含头文件,对于数值算法须包含,中则定义了一些模板类,用来声明函数对象。 STL中算法大致分为四类: 1、非可变序列算法:指不直接修改其所操作的容器内容的算法。 2、可变序列算法:指可以修改它们所操作的容器内容的算法。 3、排序算法:包括对序列进行排序和合并的算法、搜索
2013-05-19 15:43:49 1534
原创 New Features in C++11 学习
一、for循环:1.举例:vector ve = {0,1,2,3,4,5,6,7,8,9,};for( auto &r : ve) r *= 2;2.相当于:for(auto beg = ve.begin(),end = ve.end();beg != end;++beg){ auto &r = (*beg); r *= 2;}二、Lambda
2013-05-16 15:42:24 1176
原创 STL算法学习
一、accumulate:1.功能:该算法是对容器中指定范围的元素进行相加。2.举例: vector VeTemp; VeTemp.push_back("hello"); VeTemp.push_back("world"); string temp = "huang"; string sum = ::accumulate(VeTemp.begin(),VeTemp.end(
2013-05-15 21:52:34 1059
原创 在Qt与vs2010下字符串嵌入变量的方法
通过做了两个项目,都是与数据库有关的。在写sql语句的时候都要将变量嵌入到string类型的变量中。现在将方法解释如下:1.Qt下:例如:int FriendID = 1;string SQLSelect = "select friend_name from tb_friend where friend_id = '+FriendID+'";2.vs2010下例如:int Frien
2013-05-15 20:51:04 1707
原创 一个简单的关于函数指针的实例
请写出一个返回类型为 void (*)(int *,int);参数为一个int ,函数名称为ff 的函数。分析:首先我们知道 int (*cmpFun)(const int& a,const int& b) 这句话代表的意思是将cmpFun声明为 指向 int (const int& a,const int& b) 类型的指针。所以我们容易得出,以上的函数写法是:void
2013-05-05 15:08:12 1054
原创 对static的一点点理解
今日看了一些代码,发现static有以下几个作用:1.隐藏性:static的函数以及static的变量只在本作用域中有效,不能在其他作用域被使用。这其中就涉及到一个全局变量与全局静态变量的区别了,他们都是在程序结束后消失,唯一的区别就是全局静态变量只能在本作用域中被使用。另外,对于大型程序而言,静态变量显得尤其重要,因为很有可能出现重名,如果申明为静态函数或变量则不用怕会出现重名的情况。2
2013-05-01 17:51:25 939
班级考勤管理系统
2013-06-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人