随笔分类 - 学习小结
摘要:接口容易被正确使用,不易被误用c++简单工厂模式时,初级实现为ITest* CreateTestOld(), 然后用户负责释放返回的对象。如果忘记释放就会造成memory leak,所以在设计工厂接口时就应屏蔽这个潜在的问题,这时就可以用智能指针shared_ptr CreateTest(),由他负责对象资源的管理,而对客户端的使用来说更简洁了。 1 #include "stdafx.h" 2 #include 3 #include 4 using namespace std; 5 6 class ITest 7 { 8 public: 9 virtual void Fun
阅读全文
摘要:c++沉思录中的一个例子.思路:由图所示, 将节点的概念用类表示.相同点:每个节点存储一个值以及一些节点 继承不同点:值的种类, 存储节点的数量 动态绑定进一步:3种节点类型1.只有一个数值, 无子节点2.一元运算符, 一个子节点3.二元运算符, 两个子节点针对每种类型的节点,都需要进行打印动作不同的事物,具有相同的界面(接口), 意味着需要使用动态绑定.下一步:考虑到3种节点类型之间均没有 "is-a"的关系, 所以需要创建公共抽象基类ExprNodeclassExprNode{ friendstd::ostream&operator<<(std::o
阅读全文
摘要:53.在c++中,通过基类的引用(或指针)调用虚函数时,发生动态绑定。用引用(或指针)调用的虚函数在运行时确定,被调用的函数时引用(或指针)所指对象的实际类型所定义。(延伸阅读《深度探索c++对象模型》)54.接口继承:public派生类继承基类的接口(public成员),因此具有与积累相同的接口。 实现继承:使用private或protected派生的泪不继承基类的接口,也就是说此种继承方式对外提供的访问接口不包含基类的接口部分。55.派生类可以恢复继承成员的访问级别,但不能使访问级别比基类中原来指定的更宽松或更严格。 用法:在派生类中的与基类访问级别相同的标号下使用 using Base:
阅读全文
摘要:第12~14章,主要讲了类的创建的语法规则及应时刻注意的内容,复制构造,赋值操作符,析构函数,重载操作符的规则。高级主题中介绍了,类类型与其他类型的转换通过声明定义类型转换操作符38.类的设计者必须关心类是如何实现的,而使用类的程序员不需要知道类的实现细节。类的使用者只需要知道类提供的接口操作,而不关心类型如何工作。 即是:类的使用者面向接口编程,类的创建者面向实现编程39.在创建类的对象之前,必须要定义类,而不能仅声明类。另,类的前置声明一般用来编写有依赖关系的类。40.const成员函数只能返回一个*this的const引用 即 const T& T::Func(...) cons
阅读全文
摘要:设计:1.整个系统 -> 2.划分子系统 -> 3.子系统中的类 -> 4.分解为子程序 -> 5.子程序内部设计设计构造块:启发式方法使用对象进行设计的步骤:1.辨识对象及其属性(方法(method)和数据(data)02.确定对各个对象进行的操作3.确定各个对象能对其他对象进行的操作4.确定对象的可见性 - 公有 私有5.定义每个对象的公共接口反复的迭代执行一致的抽象, 封装实现细节, 当继承能简化设计时就继承信息隐藏:两种秘密-1.隐藏复杂度 2.隐藏变化源找出容易改变的区域:1.找出看起来容易变化的项目 2.把容易变化的项目分离出来(划分为一个类,或者和其他容易
阅读全文
摘要:定义:不论是硬件临界资源,还是软件临界资源,多个线程必须互斥地对它进行访问。每个线程中访问临界资源的那段代码称为临界区(Critical Section)每个线程中访问临界资源的那段程序称为临界区(Critical Section)(临界资源是一次仅允许一个线程使用的共享资源)。每次只准许一个线程进入临界区,进入后不允许其他线程进入。不论是硬件临界资源,还是软件临界资源,多个线程必须互斥地对它进行访问。 多个线程中涉及到同一个临界资源的临界区称为相关临界区。 线程进入临界区的调度原则是: ①如果有若干线程要求进入空闲的临界区,一次仅允许一个线程进入。②任何时候,处于临界区内的线程不可多于...
阅读全文
摘要:11月中,开始学习win32多线程程序设计,源于工作中遇到的一个关于多线程,资源锁的问题.在之前没有系统的学习过多线程相关知识,仅在现有代码上读,改,查. 只学会了如何创建,恢复/挂起,结束线程.没有深入理解,还有MUTEX,CRITICAL_SECTION,Semaphore, event关于互斥锁的基本使用,但不了解其之间的区别. 今天学完了之后对锁之间的区别,线程的知识有了大幅度的提高. 过段时间再翻回头来,再读一遍,并记录关键知识点. 特此,在这留下脚印!
阅读全文

浙公网安备 33010602011771号