随笔分类 -  c++

深入new/delete:Operator new的全局重载
摘要:Operator new 的全局重载原文地址:http://blog.csdn.net/zhenjing/article/details/4354880我们经常看到这么一句话: operator new 可以重载, placement new 不可重载。其实此处所说的不可重载应该是指全局的 placement new 不可重载,对于类域中的 placement new 是可以重载的,而且只要重载了任何一种形式的 operator new 都应该顺便重载 placement new , 即 void * operator new(std::size_t count, void *ptr) 。操作 阅读全文

posted @ 2014-02-27 16:41 c_dragon 阅读(3929) 评论(0) 推荐(0) 编辑

c语言运算符优先级
摘要:原文地址:http://www.cnblogs.com/zhanglong0426/archive/2010/10/06/1844700.html一共有十五个优先级:1 () [] . ->2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof3 * / %4 + -5 >> >= >= 全体单目第二; //所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&乘除余三,加减四; //这个"余"是指取余运算即%移位五,关系六; //移位运算符:> ,关系:> 阅读全文

posted @ 2013-11-27 14:12 c_dragon 阅读(199) 评论(0) 推荐(0) 编辑

逻辑控制器码
摘要:1、四路 O(001,0) 关掉端口1 O(001,1) 打开端口1 注释:00N 编号 0或1开关2、八路 O(00,01,0)E 关掉第零块板卡端口1 O(00,01,1)E 打开第零块板卡端口1 注释:0N 卡号 0N 端口号 0或1开关3、二十四路 O(00,001,0) 关掉第零块板卡端口1 O(00,001,1) 打开第零块板卡端口1 注释:0N 卡号 00N 端口号 0或1开关3、三十路 O(00,001,0) 关掉第零块板卡端口1 O(00,001,1) 打开第零块板卡端口1 注释:0N 卡号 00N 端口号 0或1开关4.其中10路 20路和 8路的码一样 阅读全文

posted @ 2013-08-12 16:57 c_dragon 阅读(225) 评论(0) 推荐(0) 编辑

c++ 静态成员变量
摘要:在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。静态成员的定义或声明要加个关键static。静态成员可以通过双冒号来使用即<类名>::<静态成员名>。在C++中类的静态成员变量和静态成员函数是个容易出错的地方,本文先通过几个例子来总结静态成员变量和成员函数使用规则,再给出一个实例来加深印象。希望阅读本文可以使读者对类的静态成员变量和成员函数有更为深刻的认识。第一个例子,通过类名调用静态成员函数和非静态成员函数[c 阅读全文

posted @ 2013-06-20 17:39 c_dragon 阅读(861) 评论(0) 推荐(0) 编辑

c语言的fopen
摘要:c语言fopen函数fopen函数用来打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式);其中,“文件指针名”必须是被说明为FILE 类型的指针变量;“文件名”是被打开文件的文件名;“使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组。例如:FILE *fp;fp=fopen("file a","r");其意义是在当前目录下打开文件file a,只允许进行“读”操作,并使fp指向该文件。又如:FILE *fphzkfphzk=fopen("c:\\hzk16","rb&q 阅读全文

posted @ 2013-06-19 14:37 c_dragon 阅读(1389) 评论(0) 推荐(2) 编辑

printf用法
摘要:printf()用法printf()用法详解 一、printf()函数是式样化输出函数, 一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为: printf("<式样化字符串>",<参量表>); 其中式样化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出;另一部分是式样化规定字符, 以"%"开端, 后跟一个或几个规定字符, 用来确定输出内容式样。 参量表是需求输出的一系列参数, 其个数务必与式样化字符串所阐明的输出参数个数一样多, 各参数之间用",& 阅读全文

posted @ 2013-05-27 09:45 c_dragon 阅读(463) 评论(0) 推荐(0) 编辑

读取大恒采集卡c++代码
摘要:#ifndef _DAHENG_CARD_HEAD_#define _DAHENG_CARD_HEAD_#include"Daheng\CGVideo.h"#include"Daheng\CGVidEx.h"#pragma comment(lib, "CGVideo.lib")#pragma comment(lib, "CGVidEx.lib")class DaHengVideo{public: DaHengVideo() { initdata(); } ~DaHengVideo() { clear(); } vo 阅读全文

posted @ 2013-05-20 17:58 c_dragon 阅读(877) 评论(0) 推荐(0) 编辑

c++返回值
摘要:这几天一直在给同学讲数据结构和算法的题,讲题的过程中突然想到这函数的返回值究竟是存放在哪的,为什么可以通过函数的调用来直接给变量赋值。仔细想想这 么多年居然没有深究过这个问题,太不应该,于是今天花了些时间来好好研究了一下这个问题。也跟了一些thread,某些前辈的观点是“不应该动不动就提到 寄存器,栈,堆这些较底层的概念。完全可以这样理解:返回值保存在一段临时区域,到下一条语句时,返回值被销毁,所以,如果要继续使用返回值,必须将返回 值赋予其他变量。”这确实不假,但是我觉得这位前辈应该是在透彻理解了内在的机理之后才这么说的,我觉得作为学习过程还是应该深究一下。 另有一位前辈说“不大于32位的( 阅读全文

posted @ 2013-05-13 10:58 c_dragon 阅读(797) 评论(0) 推荐(0) 编辑

c++引用详解
摘要:关于引用和指针的区别的文章很多很多,但是总是找不到他们的根本区别,偶然在codeproject上看到这篇文章,觉得讲的挺好的,所以翻译了下,希望对大家有帮助。原文地址: http://www.codeproject.com/KB/cpp/References_in_c__.aspx引言 我选择写 C++ 中的引用是因为我感觉大多数人误解了引用。而我之所以有这个感受是因为我主持过很多 C++ 的面试,并且我很少从面试者中得到关于 C++ 引用的正确答案。 那么 c++ 中引用到底意味这什么呢?通常一个引用让人想到是一个引用的变量的别名,而我讨厌将 c++ 中引用定义为变量的别名。这篇文章中,我将 阅读全文

posted @ 2013-05-13 10:41 c_dragon 阅读(228) 评论(0) 推荐(0) 编辑

投影机控制代码汇总
摘要:投影机控制代码汇总原文地址:http://wenku.baidu.com/view/9912396e1ed9ad51f01df228.html投影机的控制端口基本上以下面这两种控制端口居多,8针圆口和9针串口。8针圆口多用1和4;9针串口多用2和5(个别机子用到3,5。例如:松下)投影机端口:8针圆口针脚定义:针脚用途1接收(Rxd)7发送(Txd)4接地(Gnd)对于这种8针圆口的控制口连线基本上采用大头针插入的方式。投影机端口:9针串口(分公头和母头,但针脚定义都一样)针脚定义:针脚用途2接收(Rxd)3发送(Txd)5接地(Gnd)9针串口连线分公头和母头,但不管那种接头针脚定义都一样。 阅读全文

posted @ 2013-05-13 10:18 c_dragon 阅读(2672) 评论(5) 推荐(0) 编辑

雅图系列投影机中控控制代码汇总一览表
摘要:雅图系列投影机中控控制代码汇总一览表适应机型232串口引脚定义功能及代码通讯方式AT-X5200AT-X5250AT-X5300系列2脚为RXD(接收)3脚为TXD(发送)5脚接地开机:28 70 77 72 31 29关机:28 70 77 72 30 29视频:28 73 72 63 31 29VGA:28 73 72 63 33 29端口:自定波特率:19200数据位:8停止位:1LX610LX620LX630系列O型232串口插座线序如图:3脚为RXD(接收)5脚为TXD(发送)4、8脚接地D型232串口插座线序:2脚为TXD(发送)3脚为RXD(接收)5脚接地开机:43 30 30 阅读全文

posted @ 2013-05-13 10:14 c_dragon 阅读(531) 评论(0) 推荐(0) 编辑

得到控制台窗口的句柄
摘要:调用 GetConsoleTitle() 来保存当前的控制台窗口标题。调用 SetConsoleTitle() 来将控制台标题更改为一个唯一的标题。调用 Sleep(40),以确保已更新窗口标题。调用 FindWindow(NULL, uniquetitle),以获取 HWND,此调用将返回 HWND, 如果操作失败,将返回 NULL。从步骤 1 中,若要恢复原始窗口标题检索调用 SetConsoleTitle() 的值。您应该测试结果的 HWND。例如,您可以测试是否返回的 HWND 对应于当前进程在 HWND 上调用 GetWindowText() 并将结果与 GetConsoleTitl 阅读全文

posted @ 2013-03-18 10:05 c_dragon 阅读(9075) 评论(2) 推荐(1) 编辑

多线程发送文件
摘要:原文地址:http://bbs.csdn.net/topics/300116094多线程传输实现实现原理将源文件按长度为分为N块文件,然后开辟N个线程,每个线程传输一块,最后合并所有线线程文件.比如一个文件500M我们按长度可以分5个线程传输.第一线程从0-100M,第二线程从100M-200M......最后合并5个线程文件.实现流程1.客户端向服务端请求文件信息(名称,长度)2.客户端跟据文件长度开辟N个线程连接服务端3.服务端开辟新的线程与客户端通信并传输文件4.客户端将每线程数据保存到一个文件5.合并所有线程文件编码实现大体说来就是按以上步骤进行,详细的实现和一些要点,我们跟据以上流程 阅读全文

posted @ 2013-03-14 15:47 c_dragon 阅读(2911) 评论(0) 推荐(0) 编辑

c++ tinyxml
摘要:做了一个中控项目,对xml的读取不怎么记得了,先记录在这里bool ReadXML(char *path){ ////////////////////////////////////////////////////////////////////////// read xml file TiXmlDocument * myDocument = new TiXmlDocument(path); //加载文件数据 bool IsLoad=myDocument->LoadFile(); //获取根节点 if(!IsLoad) { ... 阅读全文

posted @ 2013-01-15 11:52 c_dragon 阅读(349) 评论(0) 推荐(0) 编辑

导航