自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 C++ - map key值比较

 #include #include #include #include using namespace std;class A{public:        A() { cout public:        // 用户只需要重载这个函数, 就可以进行map的操作。        bool operator         { 

2009-12-31 10:43:00 4771

原创 C++ - Using

1. full-qualified name std::cout   2. "using" keyword using std::cout;using std::endl; cout   3. "using namespace" keyword using namespace std; cout  

2009-12-31 09:25:00 719

原创 C++ - 类型转换 static_cast, dynamic_cast, reinterpret_cast, const_cast

-- static_cast用于类层次结构中基类和子类之间转换。(基类和子类之间的转换通常建议用dynamic_cast)  进行上行转换(把子类的指针转换成基类)是安全的;  进行下行转换(把基类的指针转换成子类)时,由于没有动态类型检查,所以是不安全的。用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。这种转换的安全性也要开发人员来保证。 -

2009-12-30 14:35:00 697

原创 C++ - 虚继承

class A   ^    |   (virtual)    |class B p=24368,*p=21668p=2436c,*p=bp=24370,*p=21674p=24374,*p=ap=24378,*p=1 class A   ^    |   (virtual)    |class B   ^    |   (v

2009-12-30 10:35:00 486

原创 C++ - 多继承

class B   class C   ^             ^    /             /      /         /        /     /      class D p=24500,*p=217f8p=24504,*p=bp=24508,*p=21804p=2450c,*p=cp=24510,*p=d    

2009-12-30 10:24:00 594

原创 C++ - 单继承

class A    ^     |class B p=41340,*p=21a48p=41344,*p=ap=41348,*p=1p=4134c,*p=bp=41350,*p=2  class A    ^     |class B    ^     |class C p=41340,*p=21a48p=4134

2009-12-30 10:14:00 663

原创 C++ - 拷贝构造函数和赋值操作符

注意, 如果不主动编写拷贝构造函数和赋值函数,编译器将以位拷贝的方式自动生成这两个缺省的函数。 -- 定义 class CC{public:    CC(const CC& cc) { cout     CC& operator= (const CC&) { cout public:...}; -- 什么时候使用拷贝构造函数, 什

2009-12-29 11:32:00 991

原创 C++ - 类成员初始化顺序

-- 先基类, 再成员, 然后自己 class A {public:        A() { cout };class B {public:        B() { cout         B(int i) { cout };class C {public:        C() { cout };class CC: p

2009-12-29 10:58:00 3003

原创 C++ - nothrow

This constant value nothrow is used as an argument for operator new and operator new[] to indicate that these functions shall not throw an exception on failure, but return a null pointer instead

2009-12-29 09:45:00 1266

原创 ClearCase - How to pass 'alias' to sub-shell after setview command is executed.

1. Put your alias into your ~/.$(SHELL)rc file, for ksh example#~/>:cat .kshrcalias ll=ls -lalias scp=scp -F ~/.ssh/ssh_config#~/>:cat .kshrc For c shell, it should be .cshrcFor bash

2009-12-23 16:23:00 932

原创 C++ - Inheritance type: public, protected, private

-- Members. +------------+----------------+--------------+| type        | superclass   + subclass    |+------------+----------------+--------------+| public        |  public        |  public

2009-12-21 10:22:00 633

原创 ACE - ACE_Thread, ACE_Thread_Manager

ACE_Thread只提供静态函数支持 class ACE_Export ACE_Thread {        static int spawn        static size_t spawn_n        ...};  ACE_Thread_Manager, 提供了对ACE_Thread类的扩展功能, 可以创建出多个ACE_Thread_Manag

2009-12-16 16:17:00 1207 1

原创 ACE - ACE_Recursive_Thread_Mutex, ACE_Thread_Mutex, ACE_Condition

// Donot know when and where to use ACE_Thread_Mutex, I always use ACE_Recursive_Thread_Mutex. 1. defineACE_Recursive_Thread_Mutex mMutex;ACE_Condition * mCondition;  mCondition = new AC

2009-12-16 11:14:00 1774

原创 ACE - ACE_Event_Handler ACE_Reactor

ACE_Reactor是反应堆的概念- ACE_Reactor * ACE_Reactor::instance (void); 将返回缺省的反应堆。- ACE_Reactor * ACE_Reactor::instance (ACE_Reactor *, int delete_reactor = 0); 设置新的缺省反应堆, 并把旧的返回 下面的代码例子是重定义缺省的反应堆AC

2009-12-16 09:24:00 2419 1

原创 ACE - ACE_INET_Addr, ACE_SOCK_Acceptor, ACE_SOCK_Connector, ACE_SOCK_Stream

 ACE_SOCK_Acceptor    服务器端socketACE_SOCK_Connector 客户机端socketACE_SOCK_Stream      用来连接服务器端和客户机端, 在这儿有send和recv的接口.  /#:> cat server.C#include "SOCK_Acceptor.h"#include #include #in

2009-12-15 11:44:00 2038

原创 A simple client/server communication program

---------------- client.c ----------------------------------------#>:cat client.c#include #include #include #include #include #include #include #include #include #include #de

2009-12-15 10:13:00 768

原创 non-virtual and virtual functions

/:#> cat t.C#include #include #include #include  class A {public:    A():a(1) {}public:    int a;};class B : public A {public:    B():b(2) {}    virtual ~B() {} publi

2009-12-10 16:21:00 769

原创 C语言中的位域

规则:1. 位域不能跨字节,所以位域的长度不能超过8bits2. 所以当一个字节所剩空间不够存放另一位域时,就要从下一字节起存放新的位域3. 可以有意使某位域从下一字节开始,这就需要用到无名位域,这种无名位域只用来作填充或调整位置。    struct ss    {        int a1:1;          /*第一个字节*/        int :2; 

2009-12-08 12:27:00 636

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除