关闭

工厂模式

今天看完设计模式的第一节,工厂模式。现在将源代码写下,记录每一个脚印。 工厂模式:用一个工厂类管理其他类。这样代码的灵活性更强。 #include #include #include using namespace std; //计算类的基类,所有新计算方式都继承本类,可以让程序灵活性更强。 class Calculate { public: Calculate(){}...
阅读(549) 评论(0)

typename的两个作用

C++中,typename的作用有两个: 1.模板中用于引入一个模板参数 2.当访问一个类或结构体中的自定义类型的时候,用typename修饰,防止语法歧义。 考虑以下代码: template void foo(const T& t) { // 声明一个指向某个类型为T::bar的对象的指针 T::bar* p; } struct StructWithBarAsType { typed...
阅读(614) 评论(0)

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...
阅读(735) 评论(0)

C++迭代器类型

STL 主要是由 containers(容器),iterators(迭代器)和 algorithms(算法)的 templates(模板)构成的.        对应于它们所支持的操作,共有五种 iterators(迭代器)。            input         output               \            /...
阅读(679) 评论(0)

allocator类

allocator类就像C中的malloca函数,却不像是C中的new关键字,因为new关键字和allocator做的事情不同: 1.allocator只是分配内存 2.new关键字先分配对象,再构造一个对象。 所以说,allocator使得内存分配和创建对象分隔开来了。 用allocator类一般需要经过以下几步: 1.调用allocator开辟一块内存。 2.调用construct...
阅读(1001) 评论(1)

顺序容器list、vector、deque的优劣

list容器的内存不是连续的,相当于链表,这样就可以理解他的特点了: 1.可以很方便的对容器中的任意位置进行删除和添加 2.因为他的内存分配不是连续的,所以如果要随机访问一个元素,必须从头开始遍历,知道找到合适的元素, 所以随机访问一个list容器代价会比较大。 vector容器的内存是连续的,相当于数组(本质上他就是数组),所以我们也可以知道他有哪些特点: 1.可以很方便的进行...
阅读(1046) 评论(1)

STL算法大全

STL算法部分主要由头文件,,组成。要使用 STL中的算法函数必须包含头文件,对于数值算法须包含,中则定义了一些模板类,用来声明函数对象。     STL中算法大致分为四类:         1、非可变序列算法:指不直接修改其所操作的容器内容的算法。         2、可变序列算法:指可以修改它们所操作的容器内容的算法。         3、排序算法:包括对序列进行排序和合并的算法、搜索...
阅读(1135) 评论(0)

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...
阅读(785) 评论(0)

STL算法学习

一、accumulate: 1.功能:该算法是对容器中指定范围的元素进行相加。 2.举例: vector VeTemp; VeTemp.push_back("hello"); VeTemp.push_back("world"); string temp = "huang"; string sum = ::accumulate(VeTemp.begin(),VeTemp.end(...
阅读(704) 评论(0)

在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...
阅读(883) 评论(0)

一个简单的关于函数指针的实例

请写出一个返回类型为 void (*)(int *,int);参数为一个int ,函数名称为ff   的函数。 分析:首先我们知道 int (*cmpFun)(const int& a,const int& b)  这句话代表的意思是 将cmpFun声明为 指向 int (const int& a,const int& b)  类型的指针。 所以我们容易得出,以上的函数写法是: void...
阅读(713) 评论(0)

对static的一点点理解

今日看了一些代码,发现static有以下几个作用: 1.隐藏性:static的函数以及static的变量只在本作用域中有效,不能在其他作用域被使用。这其中就涉及到一个全局变量与全局静态变量的区别了,他们都是在程序结束后消失,唯一的区别就是全局静态变量只能在本作用域中被使用。另外,对于大型程序而言,静态变量显得尤其重要,因为很有可能出现重名,如果申明为静态函数或变量则不用怕会出现重名的情况。 2...
阅读(600) 评论(0)
    个人资料
    • 访问:113314次
    • 积分:2126
    • 等级:
    • 排名:第18977名
    • 原创:94篇
    • 转载:12篇
    • 译文:0篇
    • 评论:10条
    最新评论