随笔分类 -  C++

content about C++ and C
摘要:观察者模式: 定义了一种一对多的依赖关系,让多个观察者对象同时监听一个主题对象。这个主题对象在状态发生变化时,会通知所有的 观察者对象,使他们能够自动更新自己。 UML图: 观察者模式提供了一种对象设计,让主题和观察者之间松耦合。两个对象之间松耦合,但是依然交互,不太清楚对方的具体细节。 就是不会像 阅读全文
posted @ 2017-06-05 17:06 yml435 阅读(339) 评论(0) 推荐(0)
摘要:参考:《linux多线程服务器编程 使用module网络库》(陈硕) 第二章 线程同步精要(P53-55)。 在多线程编程中,如果要用到修改共享资源的地方,如何正确地解决问题并提高效率? #include"mutex.h" #include<vector> #include<string> Mute 阅读全文
posted @ 2017-06-01 17:25 yml435 阅读(576) 评论(0) 推荐(0)
摘要:经常我们在一些开源的或者内核代码中会看到。 #define TYPE_STRUCT(ptr, type, member)((type *)((char*)(ptr)-(unsigned long)(&((type *)0)->member))) 就是由结构体的成员地址获得结构体的地址。 #defin 阅读全文
posted @ 2017-03-30 10:48 yml435 阅读(2256) 评论(0) 推荐(0)
摘要:在dpdk中,由于封装了原子量的操作。如 typedefstruct{ volatileint32_t cnt;/**< An internal counter value. */ }rte_atomic32_t; 但是很多人在使用的时候,经常如下使用 rte_atomic32_t pkt_coun 阅读全文
posted @ 2017-03-01 19:42 yml435 阅读(2751) 评论(0) 推荐(0)
摘要:#include<iostream> classStaticInit{ public: StaticInit(){ std::cout<<"Init Obj "<<std::endl; } staticStaticInit& getInstance(){ staticStaticInit i; re 阅读全文
posted @ 2017-02-10 14:14 yml435 阅读(1476) 评论(0) 推荐(0)
摘要:这方法倒是好暴力!其实我们知道,如果继承的话,编译器在派生类的构造函数中插入一些代码(嗯,是的插入代码,这个不足为怪吧,像有些合的构造函数(就是编译器帮你生成的,非自己写的)那也是插入的代码)。那么在派生类的构造函数中会插入基类的构造函数的代码。#ifndef CLASS_NO_INHERIT_H#... 阅读全文
posted @ 2015-07-18 16:14 yml435 阅读(254) 评论(0) 推荐(0)
摘要:#ifndef SELF_SUM_H#define SELF_SUM_H#includeunsignedintSum_solution1(int n_value);classSumDefaultConstruct{private:staticunsignedint countN;staticunsi... 阅读全文
posted @ 2015-07-18 12:24 yml435 阅读(540) 评论(0) 推荐(0)