c++ 联邦语言:
typedef {
unit C;
unit Object-Oriented C++;
unit Template C++;
unit STL;
};
notice: C++高效编程取决于你使用C++的哪一个部分。
eg:pass-by-reference and pass-by-value.
c:内置类型value kill reference...
分类:
编程语言 时间:
2014-07-13 00:14:37
阅读次数:
282
接口继承和实现继承不同。在 public 继承下, derived classes 总是继承 base class 的接口
class Shape{
public:
virtual void draw() const = 0;
virtual void error(const std::string &msg);
int objectID() const;
//...
};
class Rectangle: public Shape{...};
class Ellipse: public Sha...
分类:
编程语言 时间:
2014-07-12 23:42:27
阅读次数:
251
经验:异常安全函数即使发生异常也不会泄漏资源或允许任何数据结构败坏。这样的函数区分为三种
可能的保证:
基本型-->发生异常,程序处于某个合法状态
强烈型-->发生异常,程序处于原先状态
不抛异常型-->承诺绝不抛出殿堂
示例:
class PrettyMenu{
public:
//...
void changeBackground(std::istream &imgSrc); //改变背景图像
//...
private:
Mutex mutex; //互斥器
Image *bgI...
分类:
编程语言 时间:
2014-07-12 21:35:16
阅读次数:
298
经验:"public继承"意味 is-a。适用于 base classes 身上的每一件事情一定也适用于 derived classes 身上,
因为每一个 derived classes 身上,因为每一个 derived class 对象也都是一个 base class 对象。
示例:
class Person {...};
class Student: public Person {...};
void eat(const Person &p); //任何人都会吃
void study(const ...
分类:
编程语言 时间:
2014-07-12 21:18:25
阅读次数:
230
经验:支持”编译依存性最小化“的一般构想是:相依于声明式,不要相依于定义式。
基于此构想的两个手段是 Handle classes 和 Interface classes.
示例:相依于定义式
#include
#include "date.h"
#include "address.h"
class Person{
public:
Person(const std::string &name, const Data &birthday, const Address &addr);
st...
分类:
编程语言 时间:
2014-07-12 19:39:46
阅读次数:
347
经验:derived classes 内的名称会遮掩 base classes 内的名称。在 public 继承下从来没有人希望如此。
C++ 的名称遮掩规则所做的唯一事情就是: 遮掩名称
derived class 作用域被嵌套在 base class 作用域里
class Base {
private:
int x;
public:
virtual void mf1() = 0;
virtual void mf1(int);
virtual void mf2();
void mf3();
v...
分类:
编程语言 时间:
2014-07-12 19:05:42
阅读次数:
224
算法
STL算法部分主要由头文件,,组成。要使用 STL中的算法函数必须包含头文件,对于数值算法须包含,中则定义了一些模板类,用来声明函数对象。
STL中算法大致分为四类:
1、非可变序列算法:指不直接修改其所操作的容器内容的算法。
2、可变序列算法:指可以修改它们所操作的容器内容的算法。
3、排序算法:包括对序列进行排序和合并的算...
分类:
其他好文 时间:
2014-07-12 18:33:48
阅读次数:
211
用stl中的bsearch实现二分查找,解hdu2141。欢迎讨论...
分类:
其他好文 时间:
2014-07-12 17:17:43
阅读次数:
109
这个题目是拓扑排序,因为边的数目非常大,所以普通的建图会爆内存,所以这里采用vector容器。
1:建完图后对入度为0的点加入队列,然后对整幅图进行扫描,得到每个点的位置。
2:要用一个数组存相对位置,所以不能只用一个变量存储,因为每次出队列只能有一个元素。。
2:用数组模拟果然比stl快一些。。。
题目链接:
哈哈 我在这里
题面:
Reward
Time Limit...
分类:
其他好文 时间:
2014-07-12 16:35:07
阅读次数:
292