
C++
文章平均质量分 72
sauphy
这个作者很懒,什么都没留下…
展开
-
C++之设计模式列表简括
●工厂模式⊙客户类和工厂类分开,客户需求产品时,向工厂提出请求即可(传入参数args)。◆是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。●建造模式⊙将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。◆建造模式使得 产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。●工厂方法模式(代工 规范标准)⊙核心原创 2015-11-25 00:26:07 · 516 阅读 · 0 评论 -
C++之位测试练习的相关代码
## 位测试相关代码#include #include #include using namespace std;typedef unsigned int UINT32;typedef union { struct Color{ UINT32 end:6; UINT32 b:8; UINT32 g:8; UINT32 r:8; UINT32 type: 2原创 2015-12-08 16:38:22 · 618 阅读 · 0 评论 -
C++之测试snmp的注册模块
## main.cpp#include #include #include #include "dssx_helper.h"#include "typedef.h"#include "oidManager.h"RET_CODE GET_PARAM_STRING(UINT32 uiParamId, STRING paramVal){ cout << __FUNCTION__ <<原创 2015-12-08 16:51:52 · 483 阅读 · 0 评论 -
c++之String类的尝试版本
#include #include #include namespace trivial{// A trivial String class that designed for write-on-paper in an interviewclass String{ public: String() : data_(new char[1]) { *data转载 2016-08-01 20:54:17 · 324 阅读 · 0 评论 -
C++之map的数据结构表示
●关联容器(也是ADT 抽象数据类型) map,set,multiset,multimap●有序容器 vector,list1.std::map底层的数据结构为平衡二叉树(红黑树)进行实现。2.二叉搜索树结构(代码)class Node: def __init__(self, data,color,parent): self.left原创 2016-08-01 21:19:49 · 2844 阅读 · 0 评论 -
C++之网络陷阱
●多线程服务器模型 one loop per thread. 多线程发挥多核CPU的效率●muduo网络库 86元●术语 Observer Reactor Sigleton override覆写 dereference提领指针●同步原语 互斥锁、读写锁、条件变量、信号量●网络编程的坑爹陷阱1.程序在本机测试正常,放到网络运行上就经转载 2016-08-01 21:40:52 · 613 阅读 · 0 评论 -
C++之值语义与对象语义
●iostream扩展#include // 是不是太重量级了?class Date{ public: Date(int year, int month, int day) : year_(year), month_(month), day_(day) { } void writeTo(std::ostream& os) co转载 2016-08-01 22:20:56 · 1541 阅读 · 0 评论 -
C++之多线程网络安全的笔记
【C++网络库muduo】1.当析构函数遇到多线程C++要求程序员管理对象的生命周期(CG管理),多线程之下很难管理。一个对象被多个线程观察到,那么他的析构时机将变得模糊,出现多种竞态条件。①析构对象时如何知道是否有其他线程在调度该成员函数?②执行成员函数时,对象是否会被析构。③调度成员函数之前,如何得知该对象还活着?shared_ptr完美解决该静态问题转载 2016-08-01 22:38:04 · 901 阅读 · 0 评论 -
C/C++之基础学习笔记
1.空类、构造函数、成员函数都是不占用空间的,都是一个size为1,作为类的占位符,如何区分类2.如果一个类含有虚函数,那么他的size将会是8(x64位)2.1 virtual大小是否与系统平台相关?x64和x862.2 vptr和vtable的原理和数据结构如何?3.构造函数的顺序>>先基类的构造再子类(B -> SubB)4.析构函数的顺序原创 2016-08-07 23:38:28 · 508 阅读 · 5 评论 -
C++之编码实现ping的功能
## ping_dev.h#ifndef PING_DEV_H#define PING_DEV_H#include "typedef.h"INT32 get_device_status(PCHAR pDevIp);INT32 ping_fun(PCHAR pDevIp);int ping_dev_by_icmp(PCHAR pDevIp);int ping_dev_by_icm原创 2015-12-08 15:10:36 · 1598 阅读 · 0 评论 -
C++之动态配置ip信息
## configManager.h#ifndef CONFIGACMUCONTROLLER_H#define CONFIGACMUCONTROLLER_H#include using namespace std;class ConfigACMUController{public: static ConfigACMUController * getInstance()原创 2015-12-08 15:12:36 · 1066 阅读 · 0 评论 -
C++之字符串常用操作类集合
## Linux C++中用于字符串操作的工具类## cstringutils.h#ifndef CSTRINGUTILS_H#define CSTRINGUTILS_H#include #include #include #include #include #include "typedef.h"using namespace std;class CStringUt原创 2015-11-25 14:37:41 · 695 阅读 · 0 评论 -
C++之自己封装socket操作的业务类
## Linux下C++封装socket操作的工具类(自己实现)## socketconnector.h#ifndef SOCKETCONNECTOR_H#define SOCKETCONNECTOR_H#include "global.h"using namespace std;class SocketConnector{public: typedef enum {原创 2015-11-25 14:40:51 · 1337 阅读 · 0 评论 -
C++之定义模板的demo
●array.h⊙定义类template class array{ T data_[SIZE]; //数据定义 array(const array& other); //拷贝构造函数 const array& operator = (const array& other); //赋值public: array(){}; //默认构造原创 2015-11-25 00:28:19 · 298 阅读 · 0 评论 -
C++之关键字认识累积
1、mutable●修饰变量随时可变,突破const的限制。2、const3、virtual4、static5、typedef6、extern7、explict原创 2015-11-25 00:40:28 · 293 阅读 · 0 评论 -
C++之UML图示
UML中有3种构造块:事物、关系和图,事物是对模型中最具有代表性的成分的抽象;关系是把事物结合在一起;图聚集了相关的的事物。UML提供9种视图:类图、对象图,用例图,序列图、协作图,状态图、活动图,构件图和部署图。在UML系统开发中有三个主要的模型:功能模型: 从用户的角度展示系统的功能,包括用例图。对象模型: 采用对象,属性,操作,关联等概念展示系统的结构和基础,包括转载 2015-11-20 00:18:53 · 12186 阅读 · 0 评论 -
C++之可变参数的实现简介
由于在C语言中没有函数重载,解决不定数目函数参数问题变得比较麻烦,即使采用C++,如果参数个数不能确定,也很难采用函数重载。对这种情况,提出了指针参数来解决问题。 如printf()函数,其原型为: int printf( const char* format, ...);它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的,例转载 2015-12-14 22:10:02 · 3506 阅读 · 0 评论 -
C++之IPC测试单元
# cstringuitls.h#ifndef CSTRINGUTILS_H#define CSTRINGUTILS_H#include #include #include #include using namespace std;class CStringUtils{public: static int split(const string & str,vect原创 2015-12-08 16:46:37 · 881 阅读 · 0 评论 -
C++之数据库处理代理模块
## DB操作的代理线程服务#ifndef CDBPROXYTHREAD_H#define CDBPROXYTHREAD_H#include "baseThread.h"#include "my_sql.h"#include "mysqldb.h"#include /********************************************************原创 2015-12-08 15:08:38 · 523 阅读 · 0 评论 -
一种基于Qt串口通信模块的测试上位机软件的设计
【设计背景】这是我接手的一个外包项目,仅仅负责该外包项目软件部分的上位机部分。项目是生产一个电子烟产品,基本的原理是通过几个按键来控制内嵌的陶瓷芯片加热到指定温度,从而可以达到抽烟的效果。站在最终的成品角度,和我的上位机软件似乎没有关系,但是涉及到大批量生成,控制加热的陶瓷芯片的质量需要保证,否则制作成了成品,加热和充电充电等功能有问题,那么报废需要花费很大的成本。考虑到大批量生成...原创 2019-02-17 21:23:12 · 1774 阅读 · 0 评论