c/c++
c_tianzi
这个作者很懒,什么都没留下…
展开
-
随手记
好久不工作//数组指针{ //要声明指向数组类型的指针,必须使用括号 int(*arrPtr)[10] = NULL; //一个指针,它指向一个有10个int元素的数组 //如果没有括号,则声明 int*arrPtr[l0]; //表示 arrPtr 是一个具有 10 个 int 类型指针的数组。 int matrix[3][10] = { 0 }; arrPtr = matrix; // 使得arrPtr指向矩阵的第一行 (*arrPtr)[0] = 5; arrP原创 2021-04-02 20:58:35 · 165 阅读 · 0 评论 -
Singleton模式
1. Singleton的实现:Singleton不可以被实例化,因此将其构造函数声明为protected或者直接声明private。 2. Singleton模式经常和Factory(AbstractFactory)模式在一起使用,因为系统中工厂对象一般来说只要一个。 3. 通过维护一个static的成员变量来记录这个唯一的对象实例,通过提供一个static的借口Instance来获转载 2014-02-11 01:30:39 · 816 阅读 · 0 评论 -
ACE反应器(Reactor)2
看到ACE中反应器(Reactor) 用于事件多路分离和分派的体系结构模式 一章中说:在从反应器注销,以及handle_close()挂钩方法被调用时,该类将自己删除。但是,必须保证MyEventHandler总是动态分配的(即是从ACE_Event_Handler派生出的类一定是new出来的,而不是stack上临时变量或全局变量。),否则,全局内存堆可能会崩溃。确保类总是动态地创建的一种办法是转载 2014-03-22 01:58:39 · 923 阅读 · 0 评论 -
tinyxml简单解析
只需到http://sourceforge.net/projects/tinyxml/下载编译jike原创 2014-04-06 17:39:02 · 921 阅读 · 0 评论 -
Copy Constructor Function
拷贝构造函数是一种特殊的构造函数,函数的名称必须和类名称一致,它必须的一个参数是本类型的一个引用变量。原创 2014-05-08 22:20:38 · 934 阅读 · 0 评论 -
ACE_Condition使用
学习ACE线程池时看到ACE_Conditon,还不知道原创 2014-08-16 17:16:38 · 2662 阅读 · 0 评论 -
c++ map自定义排序
c++map简单排序原创 2015-01-24 01:29:22 · 6350 阅读 · 0 评论 -
strstr实现
自己实现的很不好:char* str_str(const char* s1,const char* s2){ assert(s1 != NULL && s2 != NULL); while(*s1++ != '\0') { if(strncmp(s1,s2,strlen(s2))==0) { return (char*)s1; } } return NULL;原创 2015-04-06 12:43:57 · 773 阅读 · 0 评论 -
virtual析构函数
今天面试回答的不好,最终还是因为C++基础不好,而且没有做好准备。虚析构函数其实比较简单,C++多态的一个特性,看如下简单示例:class base{public: base() { cout<<"base constructor..."<<endl; } virtual ~base() { cout<<"base discontructor..."<<endl; } virtu原创 2015-04-07 23:18:25 · 964 阅读 · 0 评论 -
CArchive序列化
实现序列化的类必须满足下列条件: 1. 该类需要从CObject类派生(可以是间接派生); 2. 在类中中进行DECLARE_SERIAL宏定义; 3. 类存在有缺省的构造函数; 4. 类中实现了Serialize()函数,并且在其中调用基类的序列化函数; 5. 使用IMPLEMENT_SERIAL宏指明类名及版本号;原创 2013-12-07 00:31:11 · 1943 阅读 · 0 评论 -
C++ Map基本操作
std map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下std map内部数据的组织,std map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在std map内部所有转载 2013-11-22 01:10:27 · 1047 阅读 · 0 评论 -
struct和union
突然发现以前理解的结构体占用的字节数错了,以为是里面各个元素占的字节数总和,哎,发现自己c语言基础太差。 一,如果结构体中不含有数组如下s1,s2:struct{ short a; //2 2 char b; //1 1 // 1 (4) float c; //4原创 2012-10-13 20:53:41 · 1052 阅读 · 0 评论 -
关于栈、堆、静态存储区最大可分配大小的探讨
中午看《编程之美》的第2.5节中有这么一小段程序:float array[100 000 000];这个1亿个float变量,这样就有8亿个字节,转化为二进制单位G,就是小于等于1G。这样大小的数组量只能用堆(动态申请内存变量)或者静态存储区(全局变量)来申请。好了,转入今天要讲的正题。到底栈、堆、静态存储区能申请的最大分配大小是多少呢?栈(stack)转载 2013-08-22 09:23:01 · 2184 阅读 · 0 评论 -
Qt不同窗口(父子)通信
如下图: 主窗口mainwindow包含左(QFrame)右(QTextEdit)两个分割窗口,左边窗口又包含上(QFrame)下(QWidget)两个窗口。左边上面窗口有4个按钮ToolBar,现在点击任意一个按钮,让主窗口mainwindow弹出一个QMessageBox,提示是哪一个按钮点击了。可以添加一个继承于QObject的类qpp来通过信号槽,来传递消息。1.qpp原创 2013-08-10 00:07:54 · 2591 阅读 · 0 评论 -
智能指针shared_ptr
Shared pointerManages the storage of a pointer, providing a limited garbage-collection facility, possibly sharing that management with other objects.Objects of shared_ptr types have the abilit原创 2013-08-18 17:20:12 · 836 阅读 · 0 评论 -
C++之const
有点忘了:#include "stdafx.h"#include int _tmain(int argc, _TCHAR* argv[]){ printf("hello,world"); ///指向const对象的指针,const:翻译成只读的更好 const double *cptr; //*cptr=40; ///error const doub原创 2013-09-01 22:49:06 · 999 阅读 · 0 评论 -
#pragma pack(push,1) & #pragma pack(pop)
1 引子 在程序中,有的时候我们定义结构体的时候,要用#pragma pack(push,1) & #pragma pack(pop)类似代码将结构体包起来。一般形式如下:#pragma pack(push,1);struct A{} ;#pragma pack(pop);这么做有什么目的呢? 注:下列内容来自网络。2 #pragma pack简介转载 2013-10-24 20:41:30 · 887 阅读 · 0 评论 -
C++Vector简单操作
好像vector和QVector不太一样。//iterator erase (const_iterator position);//iterator erase (const_iterator first, const_iterator last);//vector删除元素:// An iterator pointing to the new location of the ele原创 2013-10-20 09:38:19 · 930 阅读 · 0 评论 -
LONG LONG AGO
LONG LONG型是64位有符号的整形数。第一位代表符号。所以LONGLONG型最大数为263 - 1 = 9223372036854775807;可由下面将LONG LONG转化为CString:LONGLONG llMaxSize = 9223372036854775807;CString strLongToCstr;strLongToCstr.Format("%转载 2013-11-03 02:58:34 · 1055 阅读 · 0 评论 -
volatile关键字
volatile[英][ˈvɔlətail] adj.易变的,不稳定的;(液体或油)易挥发的;爆炸性的;快活的,轻快的//---------------------------volatile------------------------#define IO0PIN (*((volatile unsigned long *) 0xE0028000)) (vol转载 2012-10-11 19:43:02 · 826 阅读 · 0 评论